#############################################
安装docker====https://www.cnblogs.com/poloyy/p/13921450.html
如果你还想从头学起 Docker,可以看看这个系列的文章哦!
https://www.cnblogs.com/poloyy/category/1870863.html
前言
虚拟机安装 centos 7.x 教程:https://www.cnblogs.com/poloyy/p/13921798.html
OS 安装环境要求
- 要安装 Docker Engine,需要 CentOS 7 的维护版本,不支持或未测试存档版本(一句话:需要正常迭代版本的 Centos 7 系统,其他系统都不行)
- 必须启用 centos-extras 存储库,该存储库默认情况下处于启用状态,但是如果已禁用它,则需要重新启用它
- 建议使用 overlay2 存储驱动程序
重点记下大佬说的话
- CentOS 6 因内核太旧,即使支持安装 docker,但会有各种问题,不建议安装
- CentOS 7 的 extras 源虽然可以安装 docker,但包比较旧,建议从官方源或镜像源站点下载安装 docker
- CentOS 8 有新技术 podman 代替 docker
- 因此建议在 CentOS 7 上安装 docker
卸载旧版本 Docker
sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
如果出现下图就可以了
注意
- /var/lib/docker/ 下的内容(包括 images,containers,volumes,networks)被保留
- Docker Engine 软件包现在称为 docker-ce
安装 Docker
有两种方式,可供选择
- 从 Docker 的 repositories 安装,即 yum 的方式(推荐)
- 手动下载并安装 rpm 软件包,需要完全手动管理升级版本
通过 yum 的方式安装
配置 Docker Repository
在主机上首次安装 Docker Engine之前,需要设置 Docker Repository,之后可以从 Repository 安装和更新 Docker
# step 1: 安装必要的一些系统工具 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # Step 2: 添加软件源信息,国内 Repository 更加稳定 sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # Step 3: 更新 sudo yum makecache fast
安装最新版本的 Docker Engine 和 Container
sudo yum install docker-ce docker-ce-cli containerd.io
注意
- 如果提示接受GPG密钥,请验证指纹是否与 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35 匹配,如果是,可接受
- 安装成功后不代表 Docker 已成功,且 Docker 组虽已创建,但没有用户添加到该组
安装指定版本的 Docker Engine
查找 docker-ce 的版本列表
sudo yum list docker-ce --showduplicates | sort -r
安装指定版本的语法格式
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
来个栗子
sudo yum install docker-ce-19.03.13-3.el7 docker-ce-cli-19.03.13-3.el7 containerd.io
注意: 3: 是不用加的哈
启动 Docker
sudo systemctl start docker
验证 Docker Engine 是否已正确安装
通过运行 hello-world 映像来验证
sudo docker run hello-world
注意
建议使用 sudo 运行上面的命令,以便非特权用户运行 Docker 命令以及其他可选配置 步骤
yum 的安装方式二
可能官网的yum源太慢,下面使用阿里云的Yum源进行安装
rm -rf /etc/yum.repos.d/* wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum clean all sudo yum install docker-ce docker-ce-cli containerd.io systemctl enable --now docker
更新 Docker Engine
直接指定最新版本的方式去安装即可
下载 rpm 包的安装方式
下载地址
- 官方rpm包下载地址:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
- 阿里镜像下载地址:https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/
安装 rpm 包
将 下好的 rpm 包放到 Linux 任意目录下
sudo yum install /root/package.rpm
启动 Docker
sudo systemctl start docker
更新 Docker Engine
- 下载对应的 rpm 包
- 通过 yum -y upgrade package.rpm 去更新
配置 Docker 镜像加速
直接看下一篇文章:https://www.cnblogs.com/poloyy/p/13922074.html
卸载 Docker Engine
sudo yum remove docker-ce docker-ce-cli containerd.io
备注:主机上的 Images、containers、volumes、自定义配置文件不会被删除
若要删除执行下面命令
sudo rm -rf /var/lib/docker
__EOF__
##############################################
部署Jenkins====https://www.jb51.net/article/192077.htm
使用码云搭建Git代码存储仓库
- 使用码云创建私有私有git仓库
- 将本地springboot项目上传到git仓库中
基于Docker安装Jenkins环境
1.使用docker 安装jenkins
1 |
|
2.访问jenkins地址 8080
注意:第一次启动的时候正在加载jenkins大概会等待3-10分钟。
3.解锁jenkins
1 2 3 |
|
大概需要等待3-10分钟
创建新的用户
Jenkins全局工具配置
进入到jenkins容器中 echo $JAVA_HOME 获取java环境安装地址
JDK环境安装
Maven环境安装
安装Jenkins对应Maven插件
找到 “系统管理“ - “安装插件” ,点击 “可选插件”,找到如下maven插件的版本
插件名称 Maven Integration
Jenkins实现Springboot项目自动部署新建一个发布任务
配置任务git账号密码
3.项目打包
1 |
|
点击立即构建
第一次构建可能耗时比较长,因为需要下载一些相关依赖jar包
Jenkins启动成功之后执行shll脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
|
加nohub 指的是后台运行,或者使用nohub &
容器映射8081端口
1. 重启容器
1 |
|
2. 清空未运行的容器
1 |
|
1 |
|
到此这篇关于基于Docker+Jenkins实现自动化部署的文章就介绍到这了,更多相关Docker+Jenkins实现自动化部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
#############################################
配置Jenkins====https://www.cnblogs.com/poloyy/p/13955641.html
如果你还想从头学起 Docker,可以看看这个系列的文章哦!
https://www.cnblogs.com/poloyy/category/1870863.html
搭建 Jenkins 容器
就是实战第一篇文章:https://www.cnblogs.com/poloyy/p/13954637.html
Jenkins 初始化流程
访问 Jenkins
查看本机 IP
ifconfig
查看容器运行端口
docker ps
我的是用主机 80 端口映射到容器的 8080 端口
浏览器访问 Jenkins
http://ip:80
查看管理员密码
进入到页面
查看密码有两种方式
第一种:查看容器日志
docker logs jenkins1
打码那一行就是密码哦
第二种: 去文件夹查看
cat /var/jenkins_node/secrets/initialAdminPassword
- 因为我创建 Jenkins 容器时,将主机的 /var/jenkins_node 目录映射了容器的 /var/jenkins_home 目录
- 所以可以直接在主机查到管理员密码,而无需进入容器再查看
初始化流程
创建管理员用户
自己配啥记住就行了,没啥特别要求
实例配置
默认会给一个地址的,不改也可以
配置完成
进入主界面
下载插件
需要的插件 gitlab、gitlab hook、allure
在它安装完后,自己重启 Jenkins 容器
docker restart jenkins1
将插件源切换国内源
直接看这个教程:https://www.cnblogs.com/poloyy/p/12785401.html
Jenkins 汉化
直接看这个教程:https://www.cnblogs.com/poloyy/p/13955209.html
Jenkins 全局工具设置
配置 JDK
配置 Git
配置 allure
应用保存!即可!
Jenkins 邮件功能测试
配置 Extended E-mail Notification
自定义电子邮=件通知的默认收件人列表
- 可以在项目中使用 $DEFAULT_RECIPIENTS ,来包含此默认收件人列表(下面创建项目时讲到这个变量)
- 若要向某人抄送或密件抄送,不是将其放在“收件人”列表中,请在电子邮件地址之前添加 cc: 或密件抄送 bcc: (例如:cc:someone@example.com,bcc:bob@example.com)
配置邮箱通知
使用 Jenkins 实现自动化测试
将项目放到主机映射到容器的目录下
通过 xftp 将项目上传到主机
这是我自己的一个 pytest 项目
验证项目能正常跑
进入容器内,在项目文件夹爱内执行 pytest 命令
有 28 个测试用例都跑通了哦
Jenkins 创建任务工程
新建任务
Jenkins 任务配置构建后操作
在完成系统设置后,还需要给需要构建的项目进行邮件配置
重点:这里就有 $DEFAULT_RECIPIENTS ,上面也有讲到这个环境变量,默认收件人列表,如果需要添加新的收件邮件,需要用 , 隔开
邮件模板
直接复制粘贴到内容框就行
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title> </head> <body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4" offset="0"> <table width="95%" cellpadding="0" cellspacing="0" style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif"> <tr> 本邮件由系统自动发出,无需回复!<br/> 各位同事,大家好,以下为${PROJECT_NAME }项目构建信息</br> <td><font color="#CC0000">构建结果 - ${BUILD_STATUS}</font></td> </tr> <tr> <td><br /> <b><font color="#0B610B">构建信息</font></b> <hr size="2" width="100%" align="center" /></td> </tr> <tr> <td> <ul> <li>项目名称 : ${PROJECT_NAME}</li> <li>构建编号 : 第${BUILD_NUMBER}次构建</li> <li>触发原因: ${CAUSE}</li> <li>构建状态: ${BUILD_STATUS}</li> <li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li> <li>构建 Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li> <li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li> <li>项目 Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li> <li>测试报告: <a href="${PROJECT_URL}allure">${PROJECT_URL}allure</a></li> </ul> <h4><font color="#0B610B">失败用例</font></h4> <hr size="2" width="100%" /> $FAILED_TESTS<br/> <h4><font color="#0B610B">最近提交(#$SVN_REVISION)</font></h4> <hr size="2" width="100%" /> <ul> ${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"} </ul> 详细提交: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/> </td> </tr> </table> </body>
最后保存
进行第一次构建
查看控制台输出
邮件发送成功!!
Jenkins 任务配置构建操作
主要两个任务
- 配置 pytest 命令
- 生成 allure 报告
配置 pytest 命令
#!/bin/bash cd /var/jenkins_home/waimai pytest -s -q --alluredir=${WORKSPACE}/allure-reports --clean-alluredir exit 0
生成 allure 报告
这张图是重点哦
保存!!就成功了!
进行第二次构建
查看 allure 报告
################################################
CICD等Jenkins实战
https://blog.csdn.net/wzh1070/article/details/80853277
https://blog.51cto.com/lizhenliang/2159817
https://blog.csdn.net/jackyzhousales/article/details/81713004
https://www.cnblogs.com/xyou/p/10674774.html
容器化部署Jenkins
安装docker====https://www.cnblogs.com/poloyy/p/13921450.html
部署Jenkins====https://www.jb51.net/article/192077.htm
*************************************************************
*************************************************************
*************************************************************
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
7ce7f30f2eac4e1b82fc49b15da09298
This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
*************************************************************
*************************************************************
*************************************************************
docker exec -it 1e293dd77dde /bin/bash
问题:
jenkins配置https://www.cnblogs.com/poloyy/p/13955641.html
qq邮箱密码 iuyhzsdxeeeijhfd
解决邮件发送错误:503 Error: need EHLO and AUTH first
https://blog.csdn.net/lingfeian/article/details/96731620
501 mail from address must be same as authorization user
https://blog.csdn.net/qq_33801641/article/details/107195879