All Projects → jenkinsci → azure-container-agents-plugin

jenkinsci / azure-container-agents-plugin

Licence: MIT license
Azure Container Agents Plugin for Jenkins

Programming Languages

java
68154 projects - #9 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to azure-container-agents-plugin

ios-inventory-agent
Flyve MDM Inventory Agent
Stars: ✭ 27 (+68.75%)
Mutual labels:  agent
glpi-agent
GLPI Agent
Stars: ✭ 89 (+456.25%)
Mutual labels:  agent
gomoku-battle
Gomoku Battle is a cross-language cross-system battle platform.
Stars: ✭ 18 (+12.5%)
Mutual labels:  agent
DaumMovieTVSeries.bundle
Plex Metadata Agent for daum movie & tv series
Stars: ✭ 38 (+137.5%)
Mutual labels:  agent
muvio.bundle
A music video extras agent for Plex
Stars: ✭ 14 (-12.5%)
Mutual labels:  agent
agent-java-cucumber
Cucumber JVM version [1.0.0; 2.0.0) adapter
Stars: ✭ 21 (+31.25%)
Mutual labels:  agent
SQLServerTools
This repo is the home of various SQL-Server-Tools
Stars: ✭ 28 (+75%)
Mutual labels:  agent
marksman
Windows agent for Snipe-IT asset management system
Stars: ✭ 86 (+437.5%)
Mutual labels:  agent
CSM.bundle
No description or website provided.
Stars: ✭ 22 (+37.5%)
Mutual labels:  agent
tinyrl
Animated interactive visualization of Value-Iteration and Q-Learning in a Stochastic GridWorld environment.
Stars: ✭ 16 (+0%)
Mutual labels:  agent
rl trading
No description or website provided.
Stars: ✭ 14 (-12.5%)
Mutual labels:  agent
ios-mdm-agent
Flyve MDM Agent for iOS
Stars: ✭ 21 (+31.25%)
Mutual labels:  agent
DongTai-agent-java
Java Agent is a Java application probe of DongTai IAST, which collects method invocation data during runtime of Java application by dynamic hooks.
Stars: ✭ 592 (+3600%)
Mutual labels:  agent
OneAgent-SDK-for-dotnet
Enables custom tracing of .NET applications in Dynatrace
Stars: ✭ 14 (-12.5%)
Mutual labels:  agent
github-task-manager
receive github hook, notify agent, receive task results, notify github
Stars: ✭ 13 (-18.75%)
Mutual labels:  agent
loggie
A lightweight, cloud-native data transfer agent and aggregator
Stars: ✭ 844 (+5175%)
Mutual labels:  agent
OctopusTentacle
| Public | The secure, lightweight, cross-platform agent for Octopus Server which turns any computer into a worker or deployment target for automated deployments and operations runbooks.
Stars: ✭ 25 (+56.25%)
Mutual labels:  agent
terraform-provider-aci
Terraform Cisco ACI provider
Stars: ✭ 68 (+325%)
Mutual labels:  aci
JMXQuery
A simple command line too and Python module to query and collect Java metrics via JMX
Stars: ✭ 54 (+237.5%)
Mutual labels:  agent
pyaci
Python Bindings for Cisco ACI REST API
Stars: ✭ 42 (+162.5%)
Mutual labels:  aci

Azure Container Agents Plugin

Important: This plug-in is maintained by the Jenkins community and won’t be supported by Microsoft as of February 29, 2024.

Azure Container Agents Plugin can help you to run a container instance as an agent in Jenkins

How to install

You can install/update this plugin in Jenkins update center (Manage Jenkins -> Manage Plugins, search Azure Container Agents Plugin).

Pre-requirements

Azure Container Instance

Azure Container Instances offers the fastest and simplest way to run a container in Azure, without having to provision any virtual machines and without having to adopt a higher-level service.

Pre-requirements

Configure the plugin

  1. Jenkins -> Manage Jenkins -> Configure System
  2. Press Add a new cloud and choose Azure Container Instance
  3. Specify Cloud Name and it should be unique.
  4. Choose an existing Azure Credential or create a new credential.
  5. Choose Resource Group.

Configure the Container Template

  1. Specify Name and Labels
  2. Set Startup Timeout.
  3. Select Image OS Type, Windows or Linux.
  4. Fill in Docker Image. The default image is jenkins/inbound-agent and you can also use it as base image.
  5. If you use a private registry, you need to specify a credential.
  6. Specify a Command. Now the Command will override the ENTRYPOINT. Arguments. ${rootUrl}, ${secret}, ${instanceIdentity} and ${nodeName} will be replaced with JenkinsUrl, Secret, Instance identity and ComputerNodeName automatically.
  7. Specify the Working Dir. Ensure the user has write permission to this directory.
  8. Add Ports, Environment Variables and Volumes as needed.
  9. Choose a retention strategy. You can get details by clicking the help icon.
  10. Specify CPU Requirement and Memory Requirement, ACI containers costs per second. Find more details in Container Instances pricing.
  11. Decide if the container instance should use a private IP address or not. You can get details by clicking the help icon.

Configure Azure Container Instance via Groovy Script

You can use the sample below in Manage Jenkins -> Script Console. The sample only contains a few arguments. Find all the arguments in the builders package.

import com.microsoft.jenkins.containeragents.builders.*

def myCloud = new AciCloudBuilder()
.withCloudName("mycloud")
.withAzureCredentialsId("<Your Credentials Id>")
.withResourceGroup("myResourceGroup")
.addNewTemplate()
    .withName("mytemplate")
    .withLabel("aci")
    .addNewPort("80")
    .addNewEnvVar("key","value")
.endTemplate()
.build()

Jenkins.get().clouds.add(myCloud)
//inherit template from existing template
import com.microsoft.jenkins.containeragents.builders.*

def baseTemplate = new AciContainerTemplateBuilder()
.withImage("privateImage")
.addNewPort("80")
.addNewEnvVar("key", "value")
.build()

def myCloud = new AciCloudBuilder()
.withCloudName("mycloud")
.withAzureCredentialsId("<Your Credentials Id>")
.withResourceGroup("myResourceGroup")
.addNewTemplateLike(baseTemplate)
    .withName("mytemplate")
    .withLabel("aci")
.endTemplate()
.build()

Jenkins.get().clouds.add(myCloud)

Azure Kubernetes Service

If you were previously using this plugin to integrate with AKS you should use the Kubernetes plugin instead.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].