使用docker 持续集成部署node项目,第一步使用docker jenkines,下面记录一些安装步骤,以及踩过的坑

部署环境

  1. centos:7 虚拟机
  2. jenkins: docker镜像 2.6.0.3
  3. docker version : client /server都是1.13.1
  4. 假设你电脑已经安装了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. 测试是否成功

  1. 在宿主机的浏览器访问jekins

    浏览器输入ip:50000(虚拟机 分配内网ip+jenkins与外界连接端口50000),出现如下图:
    image.png
    这个时候需要一个密码,在日志中能看到

  2. 查看日志

    docker logs myjenkins

输入命令查看我们刚刚启动的容器日志,一方面可以在第一失败的情况查看原因,另一方面获得密码密码在命令执行后输出的某个地方如下图:
image.png
复制输入点击continue

3. 构建准备

  1. 插件准备

    点击continue之后,稍等片刻页面出现选择安装插件,我选择了第二个,安装了一些我觉得有用的插件,选择之后点击install ,进行安装如图(失败了好多):
    image.png

  2. 创建用户

    即使暗转失败,继续continue。这个时候会弹出创建用户的页面,填写账号密码,进入jenkins主页。
    image.png

  3. 解决插件安装失败的原因

    上网查了一下原因,看到这篇记录了许多的情况解决办法。
    总结基本是jenkins版本与插件版本不兼容,或者被墙了,而其中最麻烦的是docker 启动jenkins镜像的版本不兼容问题最麻烦,按照指示,重新pull一个穿新版本的jenkins(这个我感觉简单)或者手动上传插件。

    我先选择简单的方式重新拉取新镜像(穿新版本)

    docker pull jenkins/jenkins:lts

查看版本

docker inspect docker.io/jenkins/jenkins:lts

版本如下图:

  1. image.png

查看密码,传新版本在log中并灭有打印密码需要进入容器内部查看

docker exec -it myjenkins2 /bin/bash cd /var/jenkins_home/secrets/initialAdminPassword

image.png

  1. 查看插件是否可用
    Manage Jenkins ==》Manage Plugins

image.png
发现插件已经安装