12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- node {
- script {
- mysql_addr = '127.0.0.1' // service cluster ip
- redis_addr = '127.0.0.1' // service cluster ip
- user_addr = '127.0.0.1:30036' // nodeIp : port
- }
- // 使用 Jenkinsfile 会关联 Git 仓库,代码已经一起拉下来
- stage('get commit_id from github') {
- echo "first stage: get commit_id"
- script {
- commit_id = sh(returnStdout: true, script: 'git rev-parse --short HEAD').trim()
- }
- }
- stage('build image') {
- echo "second stage: build docker image"
- sh "docker build -t aoho/user:${commit_id} section11/user/"
- }
- stage('push image') {
- echo "third stage: push docker image to registry"
- sh "docker login -u aoho -p xxxxxx"
- sh "docker push aoho/user:${commit_id}"
- }
- stage('deploy to Kubernetes') {
- echo "forth stage: deploy to Kubernetes"
- sh "sed -i 's/<COMMIT_ID_TAG>/${commit_id}/' user-service.yaml"
- sh "sed -i 's/<MYSQL_ADDR_TAG>/${mysql_addr}/' user-service.yaml"
- sh "sed -i 's/<REDIS_ADDR_TAG>/${redis_addr}/' user-service.yaml"
- sh "kubectl apply -f user.yaml"
- }
- stage('http test') {
- echo "fifth stage: http test"
- sh "cd section11/user/transport && go test -args ${user_addr}"
- }
- }
|