I am using a script (.sh script) in my GitLab CI/CD script.
The problem I am facing is that even if the script fails for some reason, GitLab says that the stage has passed successfully. The script basically is a make command, and if the make command fails, GitLab is unable to understand that it has failed, and it continues with the remaining steps of the pipeline.
I tried storing the exit command of the script in a variable, and then checking if the variable is a 1 or 0 at the end. But this does not seem to work.
I have attached the stage where this failure occurs:
stageTwo: stage: x86_build script: - export CDHOME=/home/gitlab-runner/builds/runner_id/0/organization # - export COMMIT_TS = $CI_COMMIT_TIMESTAMP - cd /home/gitlab-runner/builds/runner_id/0/organization/source_dir/devops/ - docker images - docker rmi -f $(docker images -q) # This is where script execution starts - ./build_docker.sh x86 build $CI_COMMIT_BRANCH-$CI_COMMIT_SHORT_SHA && RET1=$? - docker images - if [ $RET1 != 0 ]; then exit 2; fi
I would really appreciate any help in solving this issue. If unattended, this could potentially affect the deployment