F.e. normally you use "develop", but today you want to use "patchXYZ"... Without changing the pipeline, is there a way to prompt the user for the branch name? If not, what is the best practice with the Concourse for this flow?
In Concourse, is it possible AT ALL to select a git resource branch interactively in web UI or fly CLI?
1k Views Asked by Sergey Aldoukhov At
1
There are 1 best solutions below
Related Questions in CONCOURSE
- Go binaries for concourse ci tasks
- Missing build folder with concourse cloud foundry resource
- How a resource from a container be available to another container if each task runs in its own container?
- How to make self updating pipeline in concourse
- Concourse CI: project structure
- task config not found
- yaml unmarshal errors while uploading ConcourseCI pipeline
- How to delete a build in Concourse?
- Concourse task input folder is empty
- Generating encryption_key Concourse
- NGINX error when deploying static website with Concourse CI
- Prevent logging a specific command in Concourse CI
- Unknown/extra keys: - jobs[0].plan[1].image_resource
- Concourse pool-resource lock pipeline
- How do I restrict a Concourse `github-release` resource to a major version
Related Questions in CONCOURSE-GIT-RESOURCE
- How to create Authkey for concoure server that can be used in API Calls to the concourse sever?
- Concourse merge another branch
- Using k8s secrets in concourse pipeline
- Concourse: Read git resource meta-data
- Concourse: How to add "passed" condition on put task
- Resource Type in Concourse CI: What happens if Check always returns just the latest version?
- In Concourse, is it possible AT ALL to select a git resource branch interactively in web UI or fly CLI?
- concourse pipeline - throwing error for sub folders "not a valid repository name"
- concourse git-resource : tag_filter and tag_regex not working
- Concourse resources not working after changing instance
- Where does the concourse ci create containers to run the task? How to get into any of those containers?
- JGitflow triggers concourse job infinitely
- Concourse resource `check_every: never` time: invalid duration "never"
- Match branch names of two Git resources in Concourse CI
- Getting error in concourse hijack: Backend error: Exit status: 500
Related Questions in CONCOURSE-PIPELINE
- How do I upgrade the Java Version in a SonarScan?
- Use older version of github-release-resource in Concourse using dynamic tag from a file
- how to specify 'source' in module if I don't want to use local path
- Letting Concourse retry a build which failed because of a flaky issue
- How to pull parameters from AWS Paramstore from EMR Cluster
- In Concourse, is it possible AT ALL to select a git resource branch interactively in web UI or fly CLI?
- concourse pipeline - throwing error for sub folders "not a valid repository name"
- Building and pushing a docker image for a springboot application on ECR using concourse
- Concourse custom resource type failing in check step
- How to pass node modules between jobs in Concourse
- Concourse CI + MVN
- JGitflow triggers concourse job infinitely
- Concourse resource `check_every: never` time: invalid duration "never"
- Adding pom version number to the Artifactory repository path
- Concourse: vars vs params
Related Questions in CONCOURSE-FLY
- In Concourse, is it possible AT ALL to select a git resource branch interactively in web UI or fly CLI?
- Setting Up Concourse with external url
- How can I detect the task where a job failed in Concourse given the build number?
- Pull and run docker image from docker hub using Concourse pipeline
- How can I get the version of Concourse or the fly CLI via the API
- Does Concourse CI log who manually triggers and aborts builds?
- Accessing Concourse REST API from resource
- Concourse Tutorial : create resource config: base resource type not found: docker-image
- How to give input parameter to the concourse pipeline on the pipeline page and trigger the job similar to jenkins
- What is the Concourse (fly) CLI command to list all the available resource types?
- is there a way to skip archived concourse pipelines and unpause only un archived pipelines?
- Error on Concurse while integrating Cypress. Cypress executable not found
- Pre steps in docker build with Concourse
- Don't run second job when first job fails in concourse
- Resource Type vs Resource in Concource CI
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
You cannot change the branch name from the web UI and I think that it is actually a good idea, a pipeline should represent always the same branch.
What I suggest is to have two types of pipelines for a given project:
projectA-main, and it follows the main branch of the repo (main, master, develop,...). it is long-lived.projectA-patchXYZ.We now need a way to avoid the pain (and mistakes) to manually maintain the different pipelines. This is actually easy to do, using Concourse
((vars))(see documentation).You would still have only one pipeline file, but templatized using these
((vars)). For your example with the git branch name:Then you would set the pipeline with fly, expanding that variable:
(see the fly documentation for
-y).Once done, you should remember to destroy that branch pipeline, otherwise they will build up, eating resources.
Or you could keep resetting the same branch pipeline, effectively obtaining what you wanted. In this case the pipeline name should stay the same, something like
Last note: when having more than one pipeline for a given project, one must also think about side effects: effects that are visible outside the pipeline.
Classic example is pushing an artifact to S3. The two pipelines (main and branch) will put stuff in the same place, which might not be what you want.
In this case, the same
((branch))trick can be used in the regexp for the S3 resource.You can have a look at my sample pipelines at marco-m/concourse-pipelines and you might find useful my marco-m/concourse-in-a-box, an all-in-one Concourse CI/CD system based on Docker Compose, with Minio S3-compatible storage and HashiCorp Vault secret manager. This enables to learn Concourse pipelines from scratch in a simple and complete environment.