.ensure_docker: &ensure_docker # Check for docker and install if missing - 'which docker || ( sudo apt-get update -y && sudo apt-get install docker.io -y )' .ensure_rsync: &ensure_rsync # Install rsync and deps if missing - 'which ssh-agent || ( sudo apt-get update -y && sudo apt-get install openssh-client -y )' - 'which rsync || ( sudo apt-get update -y && sudo apt-get install rsync -y )' - 'which make || ( sudo apt-get update -y && sudo apt-get install make -y )' .add_ssh_keys: &add_ssh_keys # Add the SSH key (stored in the SSH_PRIVATE_KEY variable) to the agent. - eval $(ssh-agent -s) - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - .verify_ssh_host_keys: &verify_ssh_host_keys # Verify SSH host keys - mkdir -p ~/.ssh - chmod 700 ~/.ssh - echo "${SSH_KNOWN_HOSTS}" >> ~/.ssh/known_hosts - chmod 644 ~/.ssh/known_hosts .standard_job: tags: [kvm] before_script: - *ensure_docker .make_in_docker: extends: .standard_job script: - docker login -u ${DOCKER_REGISTRY_USER} -p ${DOCKER_REGISTRY_PASS} ${DOCKER_REGISTRY_HOST} - cd scripts - make ${MAKE_TARGET} .upload_pkg: extends: .standard_job before_script: - *ensure_rsync - *add_ssh_keys - *verify_ssh_host_keys script: - docker login -u ${DOCKER_REGISTRY_USER} -p ${DOCKER_REGISTRY_PASS} ${DOCKER_REGISTRY_HOST} - cd scripts - make ${MAKE_TARGET} - pwd - cd out - time rsync -avP -e "ssh -p ${PKG_HOST_SSH_PORT}" depot@${PKG_HOST}:files/pkgs/RHEL/8/libpEpAdapter/SHA256SUMS || true - if sha256sum --ignore-missing --check SHA256SUMS ; then echo "Package already exists... Exiting..." && exit ; else true ; fi - sha256sum ./*.rpm | tee --append SHA256SUMS - cat ./SHA256SUMS - time rsync -azvP -e "ssh -p ${PKG_HOST_SSH_PORT}" --rsync-path="mkdir -p /home/depot/files/pkgs/RHEL/8/libpEpAdapter && rsync" ./*.rpm SHA256SUMS depot@${PKG_HOST}:files/pkgs/RHEL/8/libpEpAdapter/