pipeline {
agent any
environment {
DOCKER_LOGIN_CREDS = credentials('gitlab-docker-key')
PATH = "/var/lib/jenkins/.cargo/bin:$PATH"
INFRA_KEY = credentials('infra_key')
}
stages {
stage('Build') {
steps {
sh 'cargo build --locked'
}
}
stage('Clippy') {
steps {
sh 'cargo clippy --locked'
}
}
stage('Docker') {
steps {
sh 'docker login registry.gitlab.com -u ${DOCKER_LOGIN_CREDS_USR} -p ${DOCKER_LOGIN_CREDS_PSW}'
sh 'STK_CHANNEL=bleeding STK_BUILD_NUM=${BUILD_NUMBER} ./spacetime build_docker'
}
}
stage('Deploy') {
steps {
sh 'sshpass -p ${INFRA_KEY} ./ansible/infra update-bleeding'
sh 'sshpass -p ${INFRA_KEY} ./ansible/infra restart-bleeding'
}
}
}
}