Skip to content

Instantly share code, notes, and snippets.

@varshavaradarajan
Created April 19, 2018 12:11
Show Gist options
  • Save varshavaradarajan/ab276cb4e5a50decf51c1b77a9962cc8 to your computer and use it in GitHub Desktop.
Save varshavaradarajan/ab276cb4e5a50decf51c1b77a9962cc8 to your computer and use it in GitHub Desktop.
<pipelines group="artifact_demo">
<pipeline name="build_and_publish_image">
<environmentvariables>
<variable name="DOCKERHUB_USERNAME">
<value>varshavs</value>
</variable>
</environmentvariables>
<materials>
<git url="/Users/varshavs/git_test/docker_artifact" />
</materials>
<stage name="defaultStage">
<jobs>
<job name="defaultJob">
<tasks>
<exec command="rake">
<arg>create_docker_image</arg>
</exec>
<exec command="rake">
<arg>create_json</arg>
<runif status="passed" />
</exec>
</tasks>
<artifacts>
<artifact type="external" id="dind_image" storeId="dockerhub">
<property>
<key>BuildFile</key>
<value>artifact_info.json</value>
</property>
</artifact>
</artifacts>
</job>
</jobs>
</stage>
</pipeline>
<pipeline name="deploy_to_environment">
<environmentvariables>
<variable name="DOCKERHUB_USERNAME">
<value>varshavs</value>
</variable>
</environmentvariables>
<materials>
<git url="/Users/varshavs/git_test/docker_artifact" />
<pipeline pipelineName="build_and_publish_image" stageName="defaultStage" materialName="upstream" />
</materials>
<stage name="defaultStage">
<jobs>
<job name="defaultJob">
<tasks>
<exec command="rake">
<arg>clean_up_image</arg>
</exec>
<fetchPluggableArtifact artifactId="dind_image" pipeline="build_and_publish_image" stage="defaultStage" job="defaultJob" />
<exec command="/bin/bash">
<arg>-c</arg>
<arg>docker stop $(docker ps -aq) || true</arg>
<runif status="passed" />
</exec>
<exec command="/bin/bash">
<arg>-c</arg>
<arg>docker rm $(docker ps -aq) || true</arg>
<runif status="passed" />
</exec>
<exec command="/bin/bash">
<arg>-c</arg>
<arg>docker run -d ${DOCKERHUB_USERNAME}/artifact_demo:${GO_DEPENDENCY_LABEL_UPSTREAM}</arg>
<runif status="passed" />
</exec>
</tasks>
</job>
</jobs>
</stage>
</pipeline>
</pipelines>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment