9.Docker结合Jenkins实现项目自动化部署学习

795 阅读3分钟

这是我参与8月更文挑战的第9天,活动详情查看:8月更文挑战

Docker结合Jenkins实现项目自动化部署

1.下载Jenkins镜像

docker pull jenkins
默认情况下,如果没有指定版本号和前缀的话,默认都是到Docker Hub官方去下载镜像的,默认版本标签是“latest”

注:如果是 Windows/Mac 需要登录到 Boot2docker 虚拟机之上,而Linux无需如此。

docker-machine ssh default

2.启动Jenkins容器

docker run -d -p 28080:8080 --name jenkins -v /opt/jenkins:/var/jenkins_home jenkins

jenkins默认端口号是8080,因为宿主机上已经存在8080端口占用了,因此这里我映射成28080端口。 同时将Jenkins的数据挂载到宿主机上的 /opt/jenkins 目录下。

执行上面的run命令后,通过docker ps查看运行中的容器的时候,有可能你会发现,Jenkins容器没有启动成功,
你可以通过 docker logs 密码查看容器启动的日志信息,

docker logs 677

如果出现 permission denied

主要原因还是文件的write权限问题。可以参考网上的一篇文章: testerhome.com/topics/1193…

知道问题原因之后,我们给Jenkins用户赋予宿主机的 /opt/jenkins 目录的写权限即可:

sudo chown -R 1000:1000 /opt/jenkins

重启一下Jenkins容器(docker restart 容器ID)

docker start jenkins

docker ps
// 这时候可以看到
CONTAINER ID        IMAGE               COMMAND                  CREATED
      STATUS              PORTS                                NAMES
daf75fbec296        jenkins             "/bin/tini -- /usr/l…"   About a minute
 ago   Up 5 seconds        50000/tcp, 0.0.0.0:28080->8080/tcp   jenkins

访问Jenkins服务 浏览器打开: http://192.168.99.100:28080/

首次访问Jenkins的时候, Jenkins给你分配了一个密码,用于登录Jenkins系统。红色部分如下:

/var/jenkins_home/secrets/initialAdminPassword

密码默认存放的位置,
自己去把文件中的内容copy一下,然后在页面中输入密码即可。
【注意】:请进入 Jenkins 容器里面找到对应的密码文件,而不是在宿主机上。不要搞错了~
  • 获取Jenkins登录密码
进入Jenkins容器的命令:

docker exec -it daf /bin/bash

其中的“daf”是Jenkins容器的ID。

docker ps // 查看 容器 id

docker@default:~$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED
     STATUS              PORTS                                NAMES
daf75fbec296        jenkins             "/bin/tini -- /usr/l…"   18 minutes a
      Up 16 minutes       50000/tcp, 0.0.0.0:28080->8080/tcp   jenkins

docker@default:~$ docker exec -it daf /bin/bash

jenkins@daf75fbec296:/$ ls
bin   dev               etc   lib    media  opt   root  sbin  sys  usr
boot  docker-java-home  home  lib64  mnt    proc  run   srv   tmp  var

jenkins@daf75fbec296:/$ cat /var/jenkins_home/secrets/initialAdminPassword
ce263b7052c049c189582a54094e9afc

  • 进入容器之后,可以直接使用下面命令查看到密码,然后手动复制一下密码即可:
cat /var/jenkins_home/secrets/initialAdminPassword

登录Jenkins成功之后,首先会出现下面的页面:

Getting Started

Customize Jenkins

左边一个是:安装建议的软件。右边一个是:选择自己需要的软件安装。
这里我就选择左边的,默认安装软件就行。

输入相关账户的信息

  • 1.汉化

安装插件locale plugin 管理语言

Locale Plugin


“系统管理”-> 系统设置

Locale
 	Default Language	zh_CN

  • 2.用户授权
“系统管理”->“Configure Global Security”->“授权策略”->“项目矩阵授权策略”
  • 3.用户管理
“系统管理”->“管理用户”->“创建用户”

参考