Are you over 18 and want to see adult content?
More Annotations
A complete backup of darshancomputing.com
Are you over 18 and want to see adult content?
A complete backup of jdmotorsporttyres.co.uk
Are you over 18 and want to see adult content?
A complete backup of secure-rx-market.com
Are you over 18 and want to see adult content?
A complete backup of mistressbailey.info
Are you over 18 and want to see adult content?
A complete backup of ltoexamreviewer.com
Are you over 18 and want to see adult content?
A complete backup of reliefsocietybr.blogspot.com
Are you over 18 and want to see adult content?
A complete backup of kisas6.blogspot.com
Are you over 18 and want to see adult content?
Favourite Annotations
A complete backup of readingcities.com
Are you over 18 and want to see adult content?
A complete backup of katesplayground.com
Are you over 18 and want to see adult content?
A complete backup of polaroidgoods.com
Are you over 18 and want to see adult content?
Text
INTRODUCTION
Introduction to Concourse¶. Learn to use https://concourse-ci.org with this linear sequence of tutorials. Learn each concept that builds on the previous concept. Concourse is a 100% open source CI/CD system with approximately 100 integrations-- Resource types-- to the outside world.Concourse's principles reduce the risk of switching to and from Concourse, by encouraging practices thatBASIC PIPELINE
Basic Pipeline¶. Basic Pipeline. 1% of tasks that Concourse runs are via fly execute. 99% of tasks that Concourse runs are within "pipelines". It will display the concourse pipeline (or any changes) and request confirmation: You will be prompted to apply any configuration changes each time you run fly set-pipeline (or its aliasfly sp) Press y.
TRIGGERING JOBS WITH RESOURCES In the above example the job-demo job would trigger anytime the remote resource-tutorial had a new version. For a git resource this would be new git commits.. The time resource has intrinsic purpose of triggering jobs.. If you want a job to trigger every few minutes then there is the time resource. DESTROYING PIPELINES Destroying Pipelines¶. The current hello-world pipeline will now keep triggering every 2-3 minutes forever. If you want to destroy a pipeline - and lose all its build history - then may the power be granted to you. You can delete the hello-world pipeline:TRIGGER JOBS
Trigger Jobs¶. There are four ways for a job to be triggered: Clicking the + button on the web UI of a job (as we did in previous sections); Input resource triggering a job (see the next lesson Triggering Jobs with Resources); fly trigger-job -j pipeline/jobname command; Sending POST HTTP request to Concourse API; We can re-trigger our hello-world pipeline's job-hello-world:TASK SCRIPTS
Task scripts are typically passed in from one of the inputs. PARAMETERS - CONCOURSE TUTORIAL BY STARK & WAYNESEE MORE ON CONCOURSETUTORIAL.COM PASSING TASK OUTPUTS TO TASK INPUTS Passing Task Outputs to Task Inputs¶. In the previous lesson our task web-app-tests consumed an input resource and ran a script that ran some unit tests. The task did not create anything new. Some tasks will want to create something that is then passed to another task for further processing (this lesson); and some tasks will create something that is pushed back out to the external world (next VERSIONS AND BUILD NUMBERS The job will look delightful in the Concourse dashboard: Bumping the Version¶. Whilst you could manually create and modify the version file outside of Concourse, typically you will bump the version within Concourse jobs: automatically at the start of jobs (say pre-release or release-candidate versions), or manually when preparing to release MAJOR.MINOR.PATCH releases. WATCH JOB OUTPUT IN TERMINAL Watch Job Output in Terminal¶. It was very helpful that the job-hello-world job build included the terminal output from running git commands to clone the git repo and the output of the running hello-world task.. You can also view this output from the terminalwith fly watch:
INTRODUCTION
Introduction to Concourse¶. Learn to use https://concourse-ci.org with this linear sequence of tutorials. Learn each concept that builds on the previous concept. Concourse is a 100% open source CI/CD system with approximately 100 integrations-- Resource types-- to the outside world.Concourse's principles reduce the risk of switching to and from Concourse, by encouraging practices thatBASIC PIPELINE
Basic Pipeline¶. Basic Pipeline. 1% of tasks that Concourse runs are via fly execute. 99% of tasks that Concourse runs are within "pipelines". It will display the concourse pipeline (or any changes) and request confirmation: You will be prompted to apply any configuration changes each time you run fly set-pipeline (or its aliasfly sp) Press y.
TRIGGERING JOBS WITH RESOURCES In the above example the job-demo job would trigger anytime the remote resource-tutorial had a new version. For a git resource this would be new git commits.. The time resource has intrinsic purpose of triggering jobs.. If you want a job to trigger every few minutes then there is the time resource. DESTROYING PIPELINES Destroying Pipelines¶. The current hello-world pipeline will now keep triggering every 2-3 minutes forever. If you want to destroy a pipeline - and lose all its build history - then may the power be granted to you. You can delete the hello-world pipeline:TRIGGER JOBS
Trigger Jobs¶. There are four ways for a job to be triggered: Clicking the + button on the web UI of a job (as we did in previous sections); Input resource triggering a job (see the next lesson Triggering Jobs with Resources); fly trigger-job -j pipeline/jobname command; Sending POST HTTP request to Concourse API; We can re-trigger our hello-world pipeline's job-hello-world:TASK SCRIPTS
Task scripts are typically passed in from one of the inputs. PARAMETERS - CONCOURSE TUTORIAL BY STARK & WAYNESEE MORE ON CONCOURSETUTORIAL.COM PASSING TASK OUTPUTS TO TASK INPUTS Passing Task Outputs to Task Inputs¶. In the previous lesson our task web-app-tests consumed an input resource and ran a script that ran some unit tests. The task did not create anything new. Some tasks will want to create something that is then passed to another task for further processing (this lesson); and some tasks will create something that is pushed back out to the external world (next VERSIONS AND BUILD NUMBERS The job will look delightful in the Concourse dashboard: Bumping the Version¶. Whilst you could manually create and modify the version file outside of Concourse, typically you will bump the version within Concourse jobs: automatically at the start of jobs (say pre-release or release-candidate versions), or manually when preparing to release MAJOR.MINOR.PATCH releases. WATCH JOB OUTPUT IN TERMINAL Watch Job Output in Terminal¶. It was very helpful that the job-hello-world job build included the terminal output from running git commands to clone the git repo and the output of the running hello-world task.. You can also view this output from the terminalwith fly watch:
INTRODUCTION
Introduction¶. This section contains miscellaneous lessons that follow on from the sequential Basic lessons. Using a Credentials Manager with Concourse is best practice, so from this point onwards the lessons will assume you are continuing to run bucc from the Secrets with Credentials Manager lesson.. Therefore the lessons will include fly -t bucc commands, rather than fly -t tutorial commands.TASK SCRIPTS
Task scripts are typically passed in from one of the inputs. VERSIONS AND BUILD NUMBERS The job will look delightful in the Concourse dashboard: Bumping the Version¶. Whilst you could manually create and modify the version file outside of Concourse, typically you will bump the version within Concourse jobs: automatically at the start of jobs (say pre-release or release-candidate versions), or manually when preparing to release MAJOR.MINOR.PATCH releases.PIPELINE RESOURCES
Pipeline Resources¶. It is very fast to iterate on a job's tasks by configuring them in the pipeline.yml YAML file. You edit the pipeline.yml, run fly set-pipeline, and the entire pipeline is updated automatically.. The initial lessons introduced Tasks as standalone YAML files (which can be run via fly execute).Our pipeline.yml YAML files can be refactored to use these. SECRETS WITH CREDENTIALS MANAGER Concourse can be extended with a credentials manager to allow values and secrets to be set and rotated without any changes to your pipelines. No more variable files containing secrets on your file system. No more updating multiple pipelines whenever you need to change common variables.TASK INPUTS
The fly execute -i option can be removed if the current directory is the same name as the required input.. The task input_parent_dir.yml contains an input task-inputs which is also the current directory. All the contents in the directory ./task-inputs will be uploaded to the docker image. So the following command will work and return the sameresults as above:
SLACK NOTIFICATIONS
Above, the notify-message folder is created by the task: test-sometimes-works step as an output, and consumed by put: notify resource. See the Basics section on Passing task outputs to another task to revise this topic.. The task: test-sometimes-works step runs the test-sometimes-works-notify-message.sh script, which is the same as test-sometimes-works.sh but also creates a file notify_messagePUBLISHING OUTPUTS
Publishing Outputs¶. So far we have used the git resource to fetch down a git repository, and used git & time resources as triggers. The git resource can also be used to push a modified git repository to a remote endpoint (possibly different than where the git repo was originally cloned from). USING RESOURCE INPUTS IN JOB TASKS The resource-app resource will place the inbound files for the input into an alternate path. By default we have seen that inputs store their contents in a folder of the same name. The reason for using an alternate path in this example is specific to building & testing Go language applications and is GITHUB RELEASE INPUT Github Release Input¶. One of the great features of Concourse is the ability to watch and trigger jobs based on other people's projects. For example you could update submodules and test your project against them; or you can watch for Github Releases as the trigger for yourjobs.
INTRODUCTION
Introduction to Concourse¶. Learn to use https://concourse-ci.org with this linear sequence of tutorials. Learn each concept that builds on the previous concept. Concourse is a 100% open source CI/CD system with approximately 100 integrations-- Resource types-- to the outside world.Concourse's principles reduce the risk of switching to and from Concourse, by encouraging practices thatBASIC PIPELINE
Basic Pipeline¶. Basic Pipeline. 1% of tasks that Concourse runs are via fly execute. 99% of tasks that Concourse runs are within "pipelines". It will display the concourse pipeline (or any changes) and request confirmation: You will be prompted to apply any configuration changes each time you run fly set-pipeline (or its aliasfly sp) Press y.
TRIGGERING JOBS WITH RESOURCES In the above example the job-demo job would trigger anytime the remote resource-tutorial had a new version. For a git resource this would be new git commits.. The time resource has intrinsic purpose of triggering jobs.. If you want a job to trigger every few minutes then there is the time resource. DESTROYING PIPELINES Destroying Pipelines¶. The current hello-world pipeline will now keep triggering every 2-3 minutes forever. If you want to destroy a pipeline - and lose all its build history - then may the power be granted to you. You can delete the hello-world pipeline:PIPELINE RESOURCES
Pipeline Resources¶. It is very fast to iterate on a job's tasks by configuring them in the pipeline.yml YAML file. You edit the pipeline.yml, run fly set-pipeline, and the entire pipeline is updated automatically.. The initial lessons introduced Tasks as standalone YAML files (which can be run via fly execute).Our pipeline.yml YAML files can be refactored to use these. VERSIONS AND BUILD NUMBERS The job will look delightful in the Concourse dashboard: Bumping the Version¶. Whilst you could manually create and modify the version file outside of Concourse, typically you will bump the version within Concourse jobs: automatically at the start of jobs (say pre-release or release-candidate versions), or manually when preparing to release MAJOR.MINOR.PATCH releases. PARAMETERS - CONCOURSE TUTORIAL BY STARK & WAYNESEE MORE ON CONCOURSETUTORIAL.COMTASK SCRIPTS
Task scripts are typically passed in from one of the inputs. PASSING TASK OUTPUTS TO TASK INPUTS Passing Task Outputs to Task Inputs¶. In the previous lesson our task web-app-tests consumed an input resource and ran a script that ran some unit tests. The task did not create anything new. Some tasks will want to create something that is then passed to another task for further processing (this lesson); and some tasks will create something that is pushed back out to the external world (next CREATE AND USE DOCKER IMAGES Create and Use Docker Images¶. This section will show how to take a Dockerfile project, build it and push to Docker Hub. You might have many uses for Docker images in your normal work; but you'll also want to curate Docker images for your Concourse pipelines.INTRODUCTION
Introduction to Concourse¶. Learn to use https://concourse-ci.org with this linear sequence of tutorials. Learn each concept that builds on the previous concept. Concourse is a 100% open source CI/CD system with approximately 100 integrations-- Resource types-- to the outside world.Concourse's principles reduce the risk of switching to and from Concourse, by encouraging practices thatBASIC PIPELINE
Basic Pipeline¶. Basic Pipeline. 1% of tasks that Concourse runs are via fly execute. 99% of tasks that Concourse runs are within "pipelines". It will display the concourse pipeline (or any changes) and request confirmation: You will be prompted to apply any configuration changes each time you run fly set-pipeline (or its aliasfly sp) Press y.
TRIGGERING JOBS WITH RESOURCES In the above example the job-demo job would trigger anytime the remote resource-tutorial had a new version. For a git resource this would be new git commits.. The time resource has intrinsic purpose of triggering jobs.. If you want a job to trigger every few minutes then there is the time resource. DESTROYING PIPELINES Destroying Pipelines¶. The current hello-world pipeline will now keep triggering every 2-3 minutes forever. If you want to destroy a pipeline - and lose all its build history - then may the power be granted to you. You can delete the hello-world pipeline:PIPELINE RESOURCES
Pipeline Resources¶. It is very fast to iterate on a job's tasks by configuring them in the pipeline.yml YAML file. You edit the pipeline.yml, run fly set-pipeline, and the entire pipeline is updated automatically.. The initial lessons introduced Tasks as standalone YAML files (which can be run via fly execute).Our pipeline.yml YAML files can be refactored to use these. VERSIONS AND BUILD NUMBERS The job will look delightful in the Concourse dashboard: Bumping the Version¶. Whilst you could manually create and modify the version file outside of Concourse, typically you will bump the version within Concourse jobs: automatically at the start of jobs (say pre-release or release-candidate versions), or manually when preparing to release MAJOR.MINOR.PATCH releases. PARAMETERS - CONCOURSE TUTORIAL BY STARK & WAYNESEE MORE ON CONCOURSETUTORIAL.COMTASK SCRIPTS
Task scripts are typically passed in from one of the inputs. PASSING TASK OUTPUTS TO TASK INPUTS Passing Task Outputs to Task Inputs¶. In the previous lesson our task web-app-tests consumed an input resource and ran a script that ran some unit tests. The task did not create anything new. Some tasks will want to create something that is then passed to another task for further processing (this lesson); and some tasks will create something that is pushed back out to the external world (next CREATE AND USE DOCKER IMAGES Create and Use Docker Images¶. This section will show how to take a Dockerfile project, build it and push to Docker Hub. You might have many uses for Docker images in your normal work; but you'll also want to curate Docker images for your Concourse pipelines.INTRODUCTION
Introduction¶. This section contains miscellaneous lessons that follow on from the sequential Basic lessons. Using a Credentials Manager with Concourse is best practice, so from this point onwards the lessons will assume you are continuing to run bucc from the Secrets with Credentials Manager lesson.. Therefore the lessons will include fly -t bucc commands, rather than fly -t tutorial commands.TASK SCRIPTS
Task scripts are typically passed in from one of the inputs. SECRETS WITH CREDENTIALS MANAGER Concourse can be extended with a credentials manager to allow values and secrets to be set and rotated without any changes to your pipelines. No more variable files containing secrets on your file system. No more updating multiple pipelines whenever you need to change common variables.TASK INPUTS
The fly execute -i option can be removed if the current directory is the same name as the required input.. The task input_parent_dir.yml contains an input task-inputs which is also the current directory. All the contents in the directory ./task-inputs will be uploaded to the docker image. So the following command will work and return the sameresults as above:
TRIGGER JOBS
Trigger Jobs¶. There are four ways for a job to be triggered: Clicking the + button on the web UI of a job (as we did in previous sections); Input resource triggering a job (see the next lesson Triggering Jobs with Resources); fly trigger-job -j pipeline/jobname command; Sending POST HTTP request to Concourse API; We can re-trigger our hello-world pipeline's job-hello-world:HELLO WORLD
Hello World¶. The central concept of Concourse is to run tasks. You can run them directly from the command line as below, or from within pipeline jobs (as per every other section of the tutorial). WATCH JOB OUTPUT IN TERMINAL Watch Job Output in Terminal¶. It was very helpful that the job-hello-world job build included the terminal output from running git commands to clone the git repo and the output of the running hello-world task.. You can also view this output from the terminalwith fly watch:
PUBLISHING OUTPUTS
Publishing Outputs¶. So far we have used the git resource to fetch down a git repository, and used git & time resources as triggers. The git resource can also be used to push a modified git repository to a remote endpoint (possibly different than where the git repo was originally cloned from). USING RESOURCE INPUTS IN JOB TASKS The resource-app resource will place the inbound files for the input into an alternate path. By default we have seen that inputs store their contents in a folder of the same name. The reason for using an alternate path in this example is specific to building & testing Go language applications and is GITHUB RELEASE INPUT Github Release Input¶. One of the great features of Concourse is the ability to watch and trigger jobs based on other people's projects. For example you could update submodules and test your project against them; or you can watch for Github Releases as the trigger for yourjobs.
INTRODUCTION
Introduction to Concourse¶. Learn to use https://concourse-ci.org with this linear sequence of tutorials. Learn each concept that builds on the previous concept. Concourse is a 100% open source CI/CD system with approximately 100 integrations-- Resource types-- to the outside world.Concourse's principles reduce the risk of switching to and from Concourse, by encouraging practices thatBASIC PIPELINE
Basic Pipeline¶. Basic Pipeline. 1% of tasks that Concourse runs are via fly execute. 99% of tasks that Concourse runs are within "pipelines". It will display the concourse pipeline (or any changes) and request confirmation: You will be prompted to apply any configuration changes each time you run fly set-pipeline (or its aliasfly sp) Press y.
INTRODUCTION
Introduction¶. This section contains miscellaneous lessons that follow on from the sequential Basic lessons. Using a Credentials Manager with Concourse is best practice, so from this point onwards the lessons will assume you are continuing to run bucc from the Secrets with Credentials Manager lesson.. Therefore the lessons will include fly -t bucc commands, rather than fly -t tutorial commands. TRIGGERING JOBS WITH RESOURCES In the above example the job-demo job would trigger anytime the remote resource-tutorial had a new version. For a git resource this would be new git commits.. The time resource has intrinsic purpose of triggering jobs.. If you want a job to trigger every few minutes then there is the time resource. DESTROYING PIPELINES Destroying Pipelines¶. The current hello-world pipeline will now keep triggering every 2-3 minutes forever. If you want to destroy a pipeline - and lose all its build history - then may the power be granted to you. You can delete the hello-world pipeline: SECRETS WITH CREDENTIALS MANAGER Concourse can be extended with a credentials manager to allow values and secrets to be set and rotated without any changes to your pipelines. No more variable files containing secrets on your file system. No more updating multiple pipelines whenever you need to change common variables. PARAMETERS - CONCOURSE TUTORIAL BY STARK & WAYNESEE MORE ON CONCOURSETUTORIAL.COM WATCH JOB OUTPUT IN TERMINAL Watch Job Output in Terminal¶. It was very helpful that the job-hello-world job build included the terminal output from running git commands to clone the git repo and the output of the running hello-world task.. You can also view this output from the terminalwith fly watch:
PASSING TASK OUTPUTS TO TASK INPUTS Passing Task Outputs to Task Inputs¶. In the previous lesson our task web-app-tests consumed an input resource and ran a script that ran some unit tests. The task did not create anything new. Some tasks will want to create something that is then passed to another task for further processing (this lesson); and some tasks will create something that is pushed back out to the external world (next CREATE AND USE DOCKER IMAGES Create and Use Docker Images¶. This section will show how to take a Dockerfile project, build it and push to Docker Hub. You might have many uses for Docker images in your normal work; but you'll also want to curate Docker images for your Concourse pipelines.INTRODUCTION
Introduction to Concourse¶. Learn to use https://concourse-ci.org with this linear sequence of tutorials. Learn each concept that builds on the previous concept. Concourse is a 100% open source CI/CD system with approximately 100 integrations-- Resource types-- to the outside world.Concourse's principles reduce the risk of switching to and from Concourse, by encouraging practices thatBASIC PIPELINE
Basic Pipeline¶. Basic Pipeline. 1% of tasks that Concourse runs are via fly execute. 99% of tasks that Concourse runs are within "pipelines". It will display the concourse pipeline (or any changes) and request confirmation: You will be prompted to apply any configuration changes each time you run fly set-pipeline (or its aliasfly sp) Press y.
INTRODUCTION
Introduction¶. This section contains miscellaneous lessons that follow on from the sequential Basic lessons. Using a Credentials Manager with Concourse is best practice, so from this point onwards the lessons will assume you are continuing to run bucc from the Secrets with Credentials Manager lesson.. Therefore the lessons will include fly -t bucc commands, rather than fly -t tutorial commands. TRIGGERING JOBS WITH RESOURCES In the above example the job-demo job would trigger anytime the remote resource-tutorial had a new version. For a git resource this would be new git commits.. The time resource has intrinsic purpose of triggering jobs.. If you want a job to trigger every few minutes then there is the time resource. DESTROYING PIPELINES Destroying Pipelines¶. The current hello-world pipeline will now keep triggering every 2-3 minutes forever. If you want to destroy a pipeline - and lose all its build history - then may the power be granted to you. You can delete the hello-world pipeline: SECRETS WITH CREDENTIALS MANAGER Concourse can be extended with a credentials manager to allow values and secrets to be set and rotated without any changes to your pipelines. No more variable files containing secrets on your file system. No more updating multiple pipelines whenever you need to change common variables. PARAMETERS - CONCOURSE TUTORIAL BY STARK & WAYNESEE MORE ON CONCOURSETUTORIAL.COM WATCH JOB OUTPUT IN TERMINAL Watch Job Output in Terminal¶. It was very helpful that the job-hello-world job build included the terminal output from running git commands to clone the git repo and the output of the running hello-world task.. You can also view this output from the terminalwith fly watch:
PASSING TASK OUTPUTS TO TASK INPUTS Passing Task Outputs to Task Inputs¶. In the previous lesson our task web-app-tests consumed an input resource and ran a script that ran some unit tests. The task did not create anything new. Some tasks will want to create something that is then passed to another task for further processing (this lesson); and some tasks will create something that is pushed back out to the external world (next CREATE AND USE DOCKER IMAGES Create and Use Docker Images¶. This section will show how to take a Dockerfile project, build it and push to Docker Hub. You might have many uses for Docker images in your normal work; but you'll also want to curate Docker images for your Concourse pipelines.INTRODUCTION
Introduction¶. This section contains miscellaneous lessons that follow on from the sequential Basic lessons. Using a Credentials Manager with Concourse is best practice, so from this point onwards the lessons will assume you are continuing to run bucc from the Secrets with Credentials Manager lesson.. Therefore the lessons will include fly -t bucc commands, rather than fly -t tutorial commands.TASK SCRIPTS
Task scripts are typically passed in from one of the inputs. VERSIONS AND BUILD NUMBERS The job will look delightful in the Concourse dashboard: Bumping the Version¶. Whilst you could manually create and modify the version file outside of Concourse, typically you will bump the version within Concourse jobs: automatically at the start of jobs (say pre-release or release-candidate versions), or manually when preparing to release MAJOR.MINOR.PATCH releases.TRIGGER JOBS
Trigger Jobs¶. There are four ways for a job to be triggered: Clicking the + button on the web UI of a job (as we did in previous sections); Input resource triggering a job (see the next lesson Triggering Jobs with Resources); fly trigger-job -j pipeline/jobname command; Sending POST HTTP request to Concourse API; We can re-trigger our hello-world pipeline's job-hello-world:TASK INPUTS
The fly execute -i option can be removed if the current directory is the same name as the required input.. The task input_parent_dir.yml contains an input task-inputs which is also the current directory. All the contents in the directory ./task-inputs will be uploaded to the docker image. So the following command will work and return the sameresults as above:
PASSING TASK OUTPUTS TO TASK INPUTS Passing Task Outputs to Task Inputs¶. In the previous lesson our task web-app-tests consumed an input resource and ran a script that ran some unit tests. The task did not create anything new. Some tasks will want to create something that is then passed to another task for further processing (this lesson); and some tasks will create something that is pushed back out to the external world (nextPUBLISHING OUTPUTS
Publishing Outputs¶. So far we have used the git resource to fetch down a git repository, and used git & time resources as triggers. The git resource can also be used to push a modified git repository to a remote endpoint (possibly different than where the git repo was originally cloned from). RUN TESTS BEFORE DEPLOY As introduced in Parameters and Secrets with Credentials Manager, the ((cf-api)) syntax is for late-binding variable, secret, or credential. This allows pipeline.yml to be generically useful and published in public. It also allows an operator to update variables in a central place and then all jobs will dynamically use the new variable valueson demand.
USING RESOURCE INPUTS IN JOB TASKS The resource-app resource will place the inbound files for the input into an alternate path. By default we have seen that inputs store their contents in a folder of the same name. The reason for using an alternate path in this example is specific to building & testing Go language applications and is GITHUB RELEASE INPUT Github Release Input¶. One of the great features of Concourse is the ability to watch and trigger jobs based on other people's projects. For example you could update submodules and test your project against them; or you can watch for Github Releases as the trigger for yourjobs.
INTRODUCTION
Introduction to Concourse¶. Learn to use https://concourse-ci.org with this linear sequence of tutorials. Learn each concept that builds on the previous concept. Concourse is a 100% open source CI/CD system with approximately 100 integrations-- Resource types-- to the outside world.Concourse's principles reduce the risk of switching to and from Concourse, by encouraging practices thatBASIC PIPELINE
First Pipeline¶. This first pipeline is unimpressive - a single job job-hello-world with no inputs from the left and no outputs to its right, no jobs feeding into it, nor jobs feeding from it. It is the most basic pipeline. The job is gray colour because it has never beenrun before.
INTRODUCTION
Introduction¶. This section contains miscellaneous lessons that follow on from the sequential Basic lessons. Using a Credentials Manager with Concourse is best practice, so from this point onwards the lessons will assume you are continuing to run bucc from the Secrets with Credentials Manager lesson.. Therefore the lessons will include fly -t bucc commands, rather than fly -t tutorial commands. TRIGGERING JOBS WITH RESOURCES In the above example the job-demo job would trigger anytime the remote resource-tutorial had a new version. For a git resource this would be new git commits.. The time resource has intrinsic purpose of triggering jobs.. If you want a job to trigger every few minutes then there is the time resource. DESTROYING PIPELINES Destroying Pipelines¶. The current hello-world pipeline will now keep triggering every 2-3 minutes forever. If you want to destroy a pipeline - and lose all its build history - then may the power be granted to you. You can delete the hello-world pipeline: SECRETS WITH CREDENTIALS MANAGER Concourse can be extended with a credentials manager to allow values and secrets to be set and rotated without any changes to your pipelines. No more variable files containing secrets on your file system. No more updating multiple pipelines whenever you need to change common variables. PARAMETERS - CONCOURSE TUTORIAL BY STARK & WAYNESEE MORE ON CONCOURSETUTORIAL.COM WATCH JOB OUTPUT IN TERMINAL Watch Job Output in Terminal¶. It was very helpful that the job-hello-world job build included the terminal output from running git commands to clone the git repo and the output of the running hello-world task.. You can also view this output from the terminalwith fly watch:
PASSING TASK OUTPUTS TO TASK INPUTS Passing Task Outputs to Task Inputs¶. In the previous lesson our task web-app-tests consumed an input resource and ran a script that ran some unit tests. The task did not create anything new. Some tasks will want to create something that is then passed to another task for further processing (this lesson); and some tasks will create something that is pushed back out to the external world (next CREATE AND USE DOCKER IMAGES Create and Use Docker Images¶. This section will show how to take a Dockerfile project, build it and push to Docker Hub. You might have many uses for Docker images in your normal work; but you'll also want to curate Docker images for your Concourse pipelines.INTRODUCTION
Introduction to Concourse¶. Learn to use https://concourse-ci.org with this linear sequence of tutorials. Learn each concept that builds on the previous concept. Concourse is a 100% open source CI/CD system with approximately 100 integrations-- Resource types-- to the outside world.Concourse's principles reduce the risk of switching to and from Concourse, by encouraging practices thatBASIC PIPELINE
First Pipeline¶. This first pipeline is unimpressive - a single job job-hello-world with no inputs from the left and no outputs to its right, no jobs feeding into it, nor jobs feeding from it. It is the most basic pipeline. The job is gray colour because it has never beenrun before.
INTRODUCTION
Introduction¶. This section contains miscellaneous lessons that follow on from the sequential Basic lessons. Using a Credentials Manager with Concourse is best practice, so from this point onwards the lessons will assume you are continuing to run bucc from the Secrets with Credentials Manager lesson.. Therefore the lessons will include fly -t bucc commands, rather than fly -t tutorial commands. TRIGGERING JOBS WITH RESOURCES In the above example the job-demo job would trigger anytime the remote resource-tutorial had a new version. For a git resource this would be new git commits.. The time resource has intrinsic purpose of triggering jobs.. If you want a job to trigger every few minutes then there is the time resource. DESTROYING PIPELINES Destroying Pipelines¶. The current hello-world pipeline will now keep triggering every 2-3 minutes forever. If you want to destroy a pipeline - and lose all its build history - then may the power be granted to you. You can delete the hello-world pipeline: SECRETS WITH CREDENTIALS MANAGER Concourse can be extended with a credentials manager to allow values and secrets to be set and rotated without any changes to your pipelines. No more variable files containing secrets on your file system. No more updating multiple pipelines whenever you need to change common variables. PARAMETERS - CONCOURSE TUTORIAL BY STARK & WAYNESEE MORE ON CONCOURSETUTORIAL.COM WATCH JOB OUTPUT IN TERMINAL Watch Job Output in Terminal¶. It was very helpful that the job-hello-world job build included the terminal output from running git commands to clone the git repo and the output of the running hello-world task.. You can also view this output from the terminalwith fly watch:
PASSING TASK OUTPUTS TO TASK INPUTS Passing Task Outputs to Task Inputs¶. In the previous lesson our task web-app-tests consumed an input resource and ran a script that ran some unit tests. The task did not create anything new. Some tasks will want to create something that is then passed to another task for further processing (this lesson); and some tasks will create something that is pushed back out to the external world (next CREATE AND USE DOCKER IMAGES Create and Use Docker Images¶. This section will show how to take a Dockerfile project, build it and push to Docker Hub. You might have many uses for Docker images in your normal work; but you'll also want to curate Docker images for your Concourse pipelines.INTRODUCTION
Introduction¶. This section contains miscellaneous lessons that follow on from the sequential Basic lessons. Using a Credentials Manager with Concourse is best practice, so from this point onwards the lessons will assume you are continuing to run bucc from the Secrets with Credentials Manager lesson.. Therefore the lessons will include fly -t bucc commands, rather than fly -t tutorial commands.TASK SCRIPTS
Task scripts are typically passed in from one of the inputs. VERSIONS AND BUILD NUMBERS The job will look delightful in the Concourse dashboard: Bumping the Version¶. Whilst you could manually create and modify the version file outside of Concourse, typically you will bump the version within Concourse jobs: automatically at the start of jobs (say pre-release or release-candidate versions), or manually when preparing to release MAJOR.MINOR.PATCH releases. PASSING TASK OUTPUTS TO TASK INPUTS Passing Task Outputs to Task Inputs¶. In the previous lesson our task web-app-tests consumed an input resource and ran a script that ran some unit tests. The task did not create anything new. Some tasks will want to create something that is then passed to another task for further processing (this lesson); and some tasks will create something that is pushed back out to the external world (nextTASK INPUTS
The fly execute -i option can be removed if the current directory is the same name as the required input.. The task input_parent_dir.yml contains an input task-inputs which is also the current directory. All the contents in the directory ./task-inputs will be uploaded to the docker image. So the following command will work and return the sameresults as above:
TRIGGER JOBS
Trigger Jobs¶. There are four ways for a job to be triggered: Clicking the + button on the web UI of a job (as we did in previous sections); Input resource triggering a job (see the next lesson Triggering Jobs with Resources); fly trigger-job -j pipeline/jobname command; Sending POST HTTP request to Concourse API; We can re-trigger our hello-world pipeline's job-hello-world:PUBLISHING OUTPUTS
Publishing Outputs¶. So far we have used the git resource to fetch down a git repository, and used git & time resources as triggers. The git resource can also be used to push a modified git repository to a remote endpoint (possibly different than where the git repo was originally cloned from). USING RESOURCE INPUTS IN JOB TASKS The resource-app resource will place the inbound files for the input into an alternate path. By default we have seen that inputs store their contents in a folder of the same name. The reason for using an alternate path in this example is specific to building & testing Go language applications and is RUN TESTS BEFORE DEPLOY As introduced in Parameters and Secrets with Credentials Manager, the ((cf-api)) syntax is for late-binding variable, secret, or credential. This allows pipeline.yml to be generically useful and published in public. It also allows an operator to update variables in a central place and then all jobs will dynamically use the new variable valueson demand.
GITHUB RELEASE INPUT Github Release Input¶. One of the great features of Concourse is the ability to watch and trigger jobs based on other people's projects. For example you could update submodules and test your project against them; or you can watch for Github Releases as the trigger for yourjobs.
Skip to content
Concourse Tutorial by Stark & Wayne Introduction
Type to start searching help fix the tutorials* 787 Stars
* 432 Forks
* Basics
* Miscellaneous
Concourse Tutorial by Stark & Wayne help fix the tutorials* 787 Stars
* 432 Forks
* Basics Basics
* Introduction Introduction Table of contents* Thanks
* Getting Started
* Test Setup
* Target Concourse
* Destroy Concourse
* Hello World
* Task Inputs
* Task Scripts
* Basic Pipeline
* Pipeline Resources * Watch Job Output in Terminal* Trigger Jobs
* Triggering Jobs with Resources * Destroying Pipelines * Using Resource Inputs in Job Tasks * Passing Task Outputs to Task Inputs * Publishing Outputs* Parameters
* Pipeline Jobs
* Secrets with Credentials Manager * Miscellaneous Miscellaneous* Introduction
* Run Tests Before Deploy * Create and Use Docker Images * Versions and Build Numbers * GitHub Release Input * Slack Notifications * Editors for Pipeline and Task yamlsTable of contents
* Thanks
* Getting Started
* Test Setup
* Target Concourse
* Destroy Concourse
INTRODUCTION TO CONCOURSE¶ Learn to use https://concourse-ci.org with this linear sequence of tutorials. Learn each concept that builds on the previous concept. Concourse is a 100% open source CI/CD system with approximately 100 integrations to the outside world. Concourse's principles reduce the risk of switching to and from Concourse, by encouraging practices that decouple your project from your CI's little details, and keeping all configuration in declarative files that can be checked into version control. This Concourse Tutorial book is the world's most popular guide for learning Concourse, since 2015. It is a wonderful companion for Concourse online documentation .THANKS¶
Thanks to Alex Suraci for inventing Concourse CI, and to Pivotal for sponsoring him and a team of developers to work since 2014. At Stark & Wayne we started this tutorial as we were learning Concourse in early 2015, and we've been using Concourse in production since mid-2015 internally and at nearly all client projects. Thanks to everyone who has worked through this tutorial and found it useful. I love learning that you're enjoying the tutorial and enjoyingConcourse.
Thanks for all the pull requests to help fix regressions with some Concourse versions that came out with "backwards incompatible change". Thanks to all the staff at Stark & Wayne who helped to maintain this Concourse Tutorial and its examples over the years. Thanks to everyone who visits our Stark & Wayne booth at conferences and says "Thanks for the Concourse Tutorial!"GETTING STARTED¶
* Install Docker .
* Install Docker Composeif not
included in your Docker installation.*
Deploy Concourse using Docker Compose: wget https://raw.githubusercontent.com/starkandwayne/concourse-tutorial/master/docker-compose.yml docker-compose up -dTEST SETUP¶
Open http://127.0.0.1:8080/ in your browser: Click on your operating system to download the fly CLI. Once downloaded, copy the fly binary into your path ($PATH), such as /usr/local/bin or ~/bin. Don't forget to also make it executable. Forexample,
sudo mkdir -p /usr/local/bin sudo mv ~/Downloads/fly /usr/local/bin sudo chmod 0755 /usr/local/bin/fly For Windows users, use this articleto
see where to add fly in to the PATH.TARGET CONCOURSE¶
In the spirit of declaring absolutely everything you do to get absolutely the same result every time, the fly CLI requires that you specify the target API for every fly request. First, alias it with a name tutorial (this name is used by all the tutorial task scripts). fly --target tutorial login --concourse-url http://127.0.0.1:8080 -u admin -p admin fly --target tutorial sync You can now see this saved target Concourse API in a local file:cat ~/.flyrc
Shows a simple YAML file with the API, credentials etc:targets:
tutorial:
api: http://127.0.0.1:8080team: main
token:
type: Bearer
value: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJjc3JmIjoiYjE3ZDgxZmMwMWIxNDE1Mjk2OWIyZDc4NWViZmVjM2EzM2IyY2MxYWZjZjU3Njc1ZWYwYzY0MTM3MWMzNzI3OSIsImV4cCI6MTUyMjcwMjUwMCwiaXNBZG1pbiI6dHJ1ZSwidGVhbU5hbWUiOiJtYWluIn0.JNutBGQJMKyFzow5eQOTXAw3tOeM8wmDGMtZ-GCsAVoB7D1WHv-nHIb3Rf1zWw166FuCrFqyLYnMroTlQHyPQUTJFDTiMEGnc5AY8wjPjgpwjsjyJ465ZX-70v1J4CWcTHjRGrB1XCfSs652s8GJQlDf0x2hi5K0xxvAxsb0svv6MRs8aw1ZPumguFOUmj-rBlum5k8vnV-2SW6LjYJAnRwoj8VmcGLfFJ5PXGHeunSlMdMNBgHEQgmMKf7bFBPKtRuEAglZWBSw9ryBopej7Sr3VHPZEck37CPLDfwqfKErXy_KhBA_ntmZ87H1v3fakyBSzxaTDjbpuOFZ9yDkGA When we use the fly command we will target this Concourse API using fly --target tutorial. > @alexsuraci: I promise you'll end up liking it more than having an > implicit target state :) Makes reusing commands from shell history > much less dangerous (rogue fly configure can be bad)DESTROY CONCOURSE¶
When you've finished with your local Concourse, deployed via docker-compose up, you can use docker-compose down to destroy it. docker-compose downNext Hello World
__
powered by MkDocs and Material for MkDocsDetails
Copyright © 2024 ArchiveBay.com. All rights reserved. Terms of Use | Privacy Policy | DMCA | 2021 | Feedback | Advertising | RSS 2.0