DevOps思想
一个开发、测试、运维的整个过程的思想。
plan:需求、计划
code:编码
build:构建
test: 测试
release:发布版本
deploy:部署
operate:项目运转
monitor:监控
Jenkins主要做自动部署的工作。
准备一个简单的springboot项目,并用码云管理代码
![](Jenkins.assets/image-20210131115025348.png
编写dockerFile
FROM:使用java:8作为基础镜像
COPY:拷贝所有当前目录jar文件后缀的包到镜像容器的/hello-jenkins.jar
CMD:指定springboot启动的端口
EXPOSE:容器开放8080端口
VOLUME:容器内存放日志文件的路径,需要挂载到服务器
编写docker-compose
version:Compose file format,与docker引擎的版本对应查阅:https://docs.docker.com/compose/compose-file/compose-versioning/
services:需要构建的镜像列表
hello-jenkins: 镜像名字
build:构建命令,直接点就是构建当前目录的Dockerfile文件(docker build -f Dockerfile -t hello -jenkins )
image: 镜像名
volumes:挂载目录,服务器目录:容器内目录
ports:端口映射,服务器端口:容器内端口、
尝试执行
将docker-compose、DockerFile、jar包放入服务器目录上。
执行
docker-compose up -d # -d后台执行 --build 重新构建
访问成功:
码云新建一个WebHook
注意url要以用户名@密码的形式说明jenkin的用户
配置Jenkins
jenkin安装gitee插件
新建一个maven项目任务
配置好git地址和账号密码
配置webhooks
使用webhooks能让提交代码的时候就触发构建项目。
jenkin任务选择码云的webhook
选择[ci-build] 指令触发构建可以在提交的描述信息包含 [ci-build]
,才触发构建。
配置build命令
配置build完后执行的命令
我的jenkins是war包安装的,构建后的包目录是 /root/.jenkins/workspace/hello-jenkins/target/hello-0.0.1-SNAPSHOT.jar
\cp命令是复制,且强制覆盖原来的文件。
验证
修改代码并提交
成功触发构建事件
刷新页面
更新成功!