美文网首页
使用Jenkins持续部署项目

使用Jenkins持续部署项目

作者: ACtong | 来源:发表于2020-10-03 17:47 被阅读0次

一、使用docker方式安装Jenkins

根据官方文档,一步步的安装

docker network create jenkins

docker volume create jenkins-docker-certs
docker volume create jenkins-data

如果没有docker:dind,就是用`docker image pull docker:dind.`
docker container run --name jenkins-docker --rm --detach \
  --privileged --network jenkins --network-alias docker \
  --env DOCKER_TLS_CERTDIR=/certs \
  --volume jenkins-docker-certs:/certs/client \
  --volume jenkins-data:/var/jenkins_home \
  --publish 2376:2376 docker:dind

docker container run --name jenkins-blueocean --rm --detach \
  --network jenkins --env DOCKER_HOST=tcp://docker:2376 \
  --env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 \
  --volume jenkins-data:/var/jenkins_home \
  --volume jenkins-docker-certs:/certs/client:ro \
  --publish 8080:8080 --publish 50000:50000 jenkinsci/blueocean

需要输入管理员密码,相应的内容在jenkins home 下的/secrets/initialAdminPassword。

我们也可以用docker logs -f jenkins查看jenkins的日志拿到该信息

二、使用Jenkins

1、创建一个项目
2、点击build now开始构建

  • 如果报错,使用console查看
  • 如果maven没有找到,可以进入到容器中,直接下载,复制连接,使用wget 链接,下载(更推荐docker方式)

3、 使用Jenkinsfile

  • Jenkinsfile就是管理配置的文件,每次创建新项目,就不用手动配置了
  • Jenkinsfile的好处是,每个分支可以有不同的Jenkinsfile
  • 核心代码只是pipeline,这是一条流水线


    image.png
pipeline {
     agent any
     triggers {
          pollSCM('* * * * *')
     }
     stages {
        stage('Test') {
            agent { docker { image "circleci/openjdk:8u212-jdk-stretch" } }
            steps {
                sh 'mvn clean package'
                stash includes: '**/target/*.jar', name: 'app'
            }
        }

        stage('Docker Build') {
           steps {
               echo 'Starting to build docker image'

                unstash 'app'
                script {
                    def customImage = docker.build("192.168.0.104:5002/jenkins-test:${new Date().format('yyyy-MM-dd-HH-mm-ss')}")
                    customImage.push()
                }
           }
        }
     }
}

三、Jenkins的步骤

大致的步骤如下:

  • 开发人员通过IDE工具将代码推送到github.
  • jenkins从github中获取到源码,并使用maven编译、打包、自动构建镜像.
  • jenkins在构建脚本中调用docker命令将构建好的镜像push到本地Docker Registry.并启动相应的容器.
  • jenkins构建失败或者成功,可以及时将结果推送给相关人员,比如测试人员,安排测试.
  • 运维人员只需获取相应的镜像就可以快速发布到生产环境.
image.png

相关文章

网友评论

      本文标题:使用Jenkins持续部署项目

      本文链接:https://www.haomeiwen.com/subject/giywuktx.html