使用docker 持续集成部署node项目,第一步使用docker jenkines,下面记录一些安装步骤,以及踩过的坑
部署环境
- centos:7 虚拟机
- jenkins: docker镜像 2.6.0.3
- docker version : client /server都是1.13.1
- 假设你电脑已经安装了docker,并且了解一些docker 的操作
1. 启动运行jenkins
docker run -d —name myjenkins -p 50000:8080 -v /var/jenkins_home docker.io/jenkins:latest
解释一下,这是后台运行(-d) 一个名叫myjenkins(—name myjenkins) 暴露自己8080与外界50000相连(-p 50000:8080)挂载、var/jenkin_home (-v /var/jenkins_home) 的容器。他由镜像 docker.io/jenkins:latest( 2.6.0.3)构成。
2. 测试是否成功
在宿主机的浏览器访问jekins
浏览器输入ip:50000(虚拟机 分配内网ip+jenkins与外界连接端口50000),出现如下图:
这个时候需要一个密码,在日志中能看到查看日志
docker logs myjenkins
输入命令查看我们刚刚启动的容器日志,一方面可以在第一失败的情况查看原因,另一方面获得密码密码在命令执行后输出的某个地方如下图:
复制输入点击continue
3. 构建准备
插件准备
点击continue之后,稍等片刻页面出现选择安装插件,我选择了第二个,安装了一些我觉得有用的插件,选择之后点击install ,进行安装如图(失败了好多):
创建用户
即使暗转失败,继续continue。这个时候会弹出创建用户的页面,填写账号密码,进入jenkins主页。
解决插件安装失败的原因
上网查了一下原因,看到这篇记录了许多的情况解决办法。
总结基本是jenkins版本与插件版本不兼容,或者被墙了,而其中最麻烦的是docker 启动jenkins镜像的版本不兼容问题最麻烦,按照指示,重新pull一个穿新版本的jenkins(这个我感觉简单)或者手动上传插件。
我先选择简单的方式重新拉取新镜像(穿新版本)docker pull jenkins/jenkins:lts
查看版本
docker inspect docker.io/jenkins/jenkins:lts
版本如下图:
查看密码,传新版本在log中并灭有打印密码需要进入容器内部查看
docker exec -it myjenkins2 /bin/bash cd /var/jenkins_home/secrets/initialAdminPassword
- 查看插件是否可用
Manage Jenkins ==》Manage Plugins
发现插件已经安装