一、使用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构建失败或者成功,可以及时将结果推送给相关人员,比如测试人员,安排测试.
- 运维人员只需获取相应的镜像就可以快速发布到生产环境.
网友评论