I'm using pre-commit's check-yaml hook and also used the bitbucket pipeline validator to check this. Both report a problem with the last line
- step: &test
name: Run Unit Tests
- echo "DATE: $(date -Iseconds) UTC_TIME: $(date "+%s") GIT_HASH: $BITBUCKET_COMMIT"
- echo ": : "
check-yaml reports that the second colon "mapping values are not allowed in this context". Same error if you comment out the first echo step, and leave the second.
bitbucket pipeline validator reports "bad indentation of a sequence entry". Same error if you comment out the first echo step, and leave the second.
This shell code originally was in a bash script and runs fine, but including the shell code directly into the bitbucket-pipeline.yml creates errors. Is this caused by validators that cannot handled quoted strings?
I went back to using a bash script called from the pipeline. In my experience, the more you can put into a script (bash, python, etc) rather than literal commands in the bitbucket-pipelines.yml the better. Benefits include:
- execution of the scripts in your development environment (faster modify-test-fix cycle) and other places (git-hooks)
- more code reuse as the bitbucket-pipelines validator stops validating when it finds a step definition
- fewer dependencies on yaml formatting for long wrapped steps
I am even considering replacing the use of atlassian provided pipelines for aws because they use environment variables instead of aws cli settings. That alone lead to many frustrating days.
Hi everyone, Are you Bitbucket DC customer? If so, we'd love to talk to you! Our team wants to dive deep to understand your long-term plans regarding Bitbucket DC and Atlassian Cloud. Do you plan...
Connect with like-minded Atlassian users at free events near you!Find an event
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no Community Events near you at the moment.Host an event
You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events