class PipelineWriter: @staticmethod def parent_job_template(): parent_job_template = """ stages: - upgrade-api .basic: interruptible: false allow_failure: false """ return parent_job_template @staticmethod def child_pipeline_job_template(webservice): child_pipeline_job_template = f""" upgrade-{webservice}-api: extends: .basic image: archlinux stage: upgrade-api variables: BUILD_LIB: {webservice} script: - echo 'Server = http://mirror.cartelmatic.com/$repo/os/$arch/' > /etc/pacman.d/mirrorlist - pacman -Syu --noconfirm --needed which - 'which ssh-agent || ( pacman -S --noconfirm --needed openssh )' - eval $(ssh-agent -s) - ssh-add <(echo "$SSH_PRIVATE_KEY") - mkdir -p ~/.ssh - '[[ -f /.dockerenv ]] && echo -e "Host *\\n\\tStrictHostKeyChecking no\\n\\n" > ~/.ssh/config' - echo $BUILD_LIB - ssh -o stricthostkeychecking=no sys-cartel@srv-pdt-3.cartelmatic.com "bash /opt/scripts/analytics-api/upgrade.sh -a {webservice} -r" """ return child_pipeline_job_template