作者:onaug6th
来源:https://segmentfault.com/a/1190000038525808
背景
目前公司测试环境前端项目部署,是由测试人员负责手动操作。当需要更新测试环境版本时,测试同事需要手动操作以下过程。
- 连接打包服务器
- 打开svn管理工具,找到目标svn版本号并拉取项目
- 拉取项目后,打开命令行,下载依赖。
- 等待依赖下载结束后。敲下打包命令
- 等待构建结束,并将资源文件压缩成压缩包复制到桌面
- 链接部署服务器
- 找到需要部署的站点文件夹
- 粘贴至目标文件夹并解压
在项目多的时候,重复操作极大的浪费时间。如果遇到同一时间不同项目组打包项目,打包和部署服务器就要排队使用,测试人员只能在等待中浪费时间。为了解决这些问题,选择寻找合适的持续集成方案。来自动化完成重复的步骤。
我尝试过轻量的自动部署方案(walle,spug)。但由于两者对于Windows系统和svn支持太低。最后还是选择了老牌稳健的Jenkins。
我们利用Jenkins来自动化处理上述问题。(拉取代码,打包构建,将资源送往目标服务器)。让测试同事不再需要关心打包环节,并从这一繁琐的过程中解放出来,回到本应专注的测试程序工作环节上。
下载docker与Jenkins镜像
借助docker这个搭环境的神器来搭建Jenkins,首先安装docker
# 安装docker
yum install docker
# 启动docker
systemctl start docker
# 设置镜像源,加速下载镜像
vim etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]}
# 服务重启
systemctl restart docker.service
# 安装docker Jenkins
docker pull jenkins/jenkins
# 建立Jenkins数据存储文件夹
mkdir /usr/jenkins
# 设置权限
chown -R 1000:1000 /usr/jenkins
# 启动Jenkins,映射到 9527 端口
docker run -itd --name jenkins -p 50000:50000 -p 9527:8080 --privileged=true -v /usr/jenkins:/var/jenkins jenkins/jenkins
Jenkins初始化
成功启动容器后,访问Jenkins服务器IP地址加端口号,进行Jenkins初始化,初始化的管理员密码从日志中可以获取。
#查看容器ID
docker ps -a
#查看容器日志
docker logs 容器ID
![9ff43ea99c3effc5bf31bd592e707bd7.png](https://img-blog.csdnimg.cn/img_convert/9ff43ea99c3effc5bf31bd592e707bd7.png)
选择推荐安装,等待安装后即可。