Remove publishing stage from calico-containers build step
calico-containers build step should only produce artifacts and
store them localy. All the Artifactory stuff should be done on
global pipeline.
Change-Id: Ic5de0089b35e4e9f3172e8403603f099c735d655
diff --git a/vars/buildCalicoContainers.groovy b/vars/buildCalicoContainers.groovy
index aa79e60..c404bac 100644
--- a/vars/buildCalicoContainers.groovy
+++ b/vars/buildCalicoContainers.groovy
@@ -5,17 +5,9 @@
body.delegate = config
body()
- // we need to use Tools library for getting mandatory binary properties
- def tools = new ci.mcp.Tools()
-
- def server = Artifactory.server(config.artifactoryServerId ?: "mcp-ci")
- def buildInfo = Artifactory.newBuildInfo()
- buildInfo.env.capture = true
- buildInfo.env.filter.addInclude("*")
- buildInfo.env.collect()
def dockerRepo = config.dockerRepo ?: "artifactory.mcp.mirantis.net:5001"
- def artifactoryURL = config.artifactoryURL ?: "https://artifactory.mcp.mirantis.net/artifactory/projectcalico"
+ def artifactoryUrl = config.artifactoryURL ?: "https://artifactory.mcp.mirantis.net/artifactory/projectcalico"
def nodeImage = config.nodeImage ?: "calico/node"
def nodeImageTag = config.nodeImageTag ?: "v0.20.0"
@@ -25,34 +17,36 @@
def ctlImageTag = config.ctlImageTag ?: "v0.20.0"
def ctlName = "${dockerRepo}/${ctlImage}:${ctlImageTag}"
- // calico/build goes from {artifactoryURL}/mcp/libcalico/
- def buildImage = config.buildImage ?: "${artifactoryURL}/mcp/libcalico/lastbuild".toURL().text.trim()
- // calico/felix goes from {artifactoryURL}/mcp/felix/
- def felixImage = config.felixImage ?: "${artifactoryURL}/mcp/felix/lastbuild".toURL().text.trim()
+ // calico/build goes from {artifactoryUrl}/mcp/libcalico/
+ def buildImage = config.buildImage ?: "${artifactoryUrl}/mcp/libcalico/lastbuild".toURL().text.trim()
+ // calico/felix goes from {artifactoryUrl}/mcp/felix/
+ def felixImage = config.felixImage ?: "${artifactoryUrl}/mcp/felix/lastbuild".toURL().text.trim()
- def confdBuildId = config.confdBuildId ?: "${artifactoryURL}/mcp/confd/lastbuild".toURL().text.trim()
- def confdUrl = config.confdUrl ?: "${artifactoryURL}/mcp/confd/confd-${confdBuildId}"
+ def confdBuildId = config.confdBuildId ?: "${artifactoryUrl}/mcp/confd/lastbuild".toURL().text.trim()
+ def confdUrl = config.confdUrl ?: "${artifactoryUrl}/mcp/confd/confd-${confdBuildId}"
- def birdBuildId = config.birdBuildId ?: "${artifactoryURL}/mcp/calico-bird/lastbuild".toURL().text.trim()
- def birdUrl = config.birdUrl ?: "${artifactoryURL}/mcp/calico-bird/bird-${birdBuildId}"
- def bird6Url = config.bird6Url ?: "${artifactoryURL}/mcp/calico-bird/bird6-${birdBuildId}"
- def birdclUrl = config.birdclUrl ?: "${artifactoryURL}/mcp/calico-bird/birdcl-${birdBuildId}"
+ def birdBuildId = config.birdBuildId ?: "${artifactoryUrl}/mcp/calico-bird/lastbuild".toURL().text.trim()
+ def birdUrl = config.birdUrl ?: "${artifactoryUrl}/mcp/calico-bird/bird-${birdBuildId}"
+ def bird6Url = config.bird6Url ?: "${artifactoryUrl}/mcp/calico-bird/bird6-${birdBuildId}"
+ def birdclUrl = config.birdclUrl ?: "${artifactoryUrl}/mcp/calico-bird/birdcl-${birdBuildId}"
def gitCommit = sh(returnStdout: true, script: "git -C ${WORKSPACE} rev-parse --short HEAD").trim()
def build = "${config.containersBuildId}-${gitCommit}"
// return values
- def calicoNodeImageRepo="${dockerRepo}/${nodeImage}"
- def calicoCtlImageRepo="${dockerRepo}/${ctlImage}"
- def calicoVersion="${nodeImageTag}-${build}"
+ def calicoNodeImageRepo = "${dockerRepo}/${nodeImage}"
+ def calicoCtlImageRepo = "${dockerRepo}/${ctlImage}"
+ def calicoVersion = "${nodeImageTag}-${build}"
+ def ctlContainerName = "${ctlName}-${build}"
+ def nodeContainerName = "${nodeName}-${build}"
// Start build section
stage ('Build calico/ctl image'){
sh """
make ctl_image \
- CTL_CONTAINER_NAME=${ctlName}-${build} \
+ CTL_CONTAINER_NAME=${ctlContainerName} \
BUILD_CONTAINER_NAME=${buildImage} \
BIRDCL_URL=${birdclUrl}
"""
@@ -62,7 +56,7 @@
stage('Build calico/node'){
sh """
make node_image \
- NODE_CONTAINER_NAME=${nodeName}-${build} \
+ NODE_CONTAINER_NAME=${nodeContainerName} \
BUILD_CONTAINER_NAME=${buildImage} \
FELIX_CONTAINER_NAME=${felixImage} \
CONFD_URL=${confdUrl} \
@@ -73,51 +67,21 @@
}
- stage('Publishing containers artifacts'){
-
- withCredentials([
- [$class: 'UsernamePasswordMultiBinding',
- credentialsId: "${config.credentialsId}",
- passwordVariable: 'ARTIFACTORY_PASSWORD',
- usernameVariable: 'ARTIFACTORY_LOGIN']
- ]) {
- sh """
- echo 'Pushing images'
- docker login -u ${ARTIFACTORY_LOGIN} -p ${ARTIFACTORY_PASSWORD} ${dockerRepo}
- docker push ${nodeName}-${build}
- docker push ${ctlName}-${build}
- """
- }
-
- dir("artifacts"){
- // Save the last build ID
- writeFile file: "lastbuild", text: "${build}"
- // Create config yaml for Kargo
- writeFile file: "calico-containers-${build}.yaml",
- text: """\
- calico_node_image_repo: ${calicoNodeImageRepo}
- calicoctl_image_repo: ${calicoCtlImageRepo}
- calico_version: ${calicoVersion}
- """.stripIndent()
- // Create the upload spec.
- def properties = tools.getBinaryBuildProperties()
- def uploadSpec = """{
- "files": [
- {
- "pattern": "**",
- "target": "projectcalico/${config.containersBuildId}/calico-containers/",
- "props": "${properties}"
- }
- ]
- }"""
- // Upload to Artifactory.
- server.upload(uploadSpec, buildInfo)
- server.publishBuildInfo buildInfo
-
- } // dir artifacts
- } //stage
+ dir("artifacts"){
+ // Save the last build ID
+ writeFile file: "lastbuild", text: "${build}"
+ // Create config yaml for Kargo
+ writeFile file: "calico-containers-${build}.yaml",
+ text: """\
+ calico_node_image_repo: ${calicoNodeImageRepo}
+ calicoctl_image_repo: ${calicoCtlImageRepo}
+ calico_version: ${calicoVersion}
+ """.stripIndent()
+ } // dir artifacts
return [
+ CTL_CONTAINER_NAME:"${ctlContainerName}",
+ NODE_CONTAINER_NAME:"${nodeContainerName}",
CALICO_NODE_IMAGE_REPO:"${calicoNodeImageRepo}",
CALICOCTL_IMAGE_REPO:"${calicoCtlImageRepo}",
CALICO_VERSION: "${calicoVersion}"
diff --git a/vars/buildCalicoContainers.txt b/vars/buildCalicoContainers.txt
index e0f1468..67ffece 100644
--- a/vars/buildCalicoContainers.txt
+++ b/vars/buildCalicoContainers.txt
@@ -1,8 +1,7 @@
// Usage example
// List of parameters with the default values
- def server = Artifactory.server(config.artifactoryServerId ?: "mcp-ci")
def dockerRepo = config.dockerRepo ?: "artifactory.mcp.mirantis.net:5001"
- def artifactoryURL = config.artifactoryURL ?: "https://artifactory.mcp.mirantis.net/artifactory/projectcalico"
+ def artifactoryUrl = config.artifactoryURL ?: "https://artifactory.mcp.mirantis.net/artifactory/projectcalico"
def nodeImage = config.nodeImage ?: "calico/node"
def nodeImageTag = config.nodeImageTag ?: "v0.20.0"
def ctlImage = config.ctlImage ?: "calico/ctl"
@@ -16,7 +15,6 @@
def bird6Url = config.bird6Url ?: "${artifactoryURL}/mcp/calico-bird/bird6-${birdBuildId}"
def birdclUrl = config.birdclUrl ?: "${artifactoryURL}/mcp/calico-bird/birdcl-${birdBuildId}"
def build = "${config.containersBuildId}-${gitCommit}"
- def credentialsId = config.credentialsId
// *** Examples 1:
// we still use old schema and want to publish to GERRIT_CHANGE_NUMBER
@@ -28,7 +26,5 @@
dockerRepo = "artifactory.mcp.mirantis.net:5004"
artifactoryURL = "https://artifactory.mcp.mirantis.net/artifactory/sandbox"
containersBuildId = buildId
- credentialsId = "artifactory-sandbox"
- artifactoryServerId = "mcp-ci-sandbox"
}
}