Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

安装jenkins #50

Open
YIngChenIt opened this issue Jul 28, 2020 · 0 comments
Open

安装jenkins #50

YIngChenIt opened this issue Jul 28, 2020 · 0 comments

Comments

@YIngChenIt
Copy link
Owner

安装jenkins

首先我们需要先安装Docker

安装防火墙

yum install firewalld systemd -y
service firewalld start
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.154/16" accept"
systemctl reload firewalld

pemmanent: 表示永久生效,若不加 --permanent 系统下次启动后就会失效。
systemctlhttps://www.cnblogs.com/zwcry/p/9602756.html
firewall-cmdhttps://blog.csdn.net/s_p_j/article/details/80979450
add-rich-rule:添加一条放行规则。作用是允许docker容器之间可以走宿主机互相访问。
其中,192.168.1.154是网段,/16代表匹配所有网段内的IP

1. 使用 DockerFile 构建 Jenkins 镜像

vi Dockerfile
FROM jenkins/jenkins
USER root
# 清除了基础镜像设置的源,切换成阿里云源
RUN echo '' > /etc/apt/sources.list.d/jessie-backports.list \
  && echo "deb http://mirrors.aliyun.com/debian jessie main contrib non-free" > /etc/apt/sources.list \
  && echo "deb http://mirrors.aliyun.com/debian jessie-updates main contrib non-free" >> /etc/apt/sources.list \
  && echo "deb http://mirrors.aliyun.com/debian-security jessie/updates main contrib non-free" >> /etc/apt/sources.list
# 更新源并安装缺少的包
RUN apt-get update && apt-get install -y libltdl7
ARG dockerGid=999

RUN echo "docker:x:${dockerGid}:jenkins" >> /etc/group

2. 构建 Jenkins 镜像

docker build -t local/jenkins .

-t:镜像的名字及tag,通常name:tag或者name格式;可以在一次构建中为一个镜像设置多个tag

如果提示 Successfully tagged local/jenkins:latest 则构建成功

jenkins1

3. 启动镜像

我们将Jenkins用户目录外挂到宿主机内,先新建一个 /home/jenkins 目录,并设置权限:

mkdir /home/jenkins
chown -R 1000 /home/jenkins/

接下来我们用镜像创建容器并启动:

docker run -itd --name jenkins -p 8080:8080 -p 50000:50000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
-v /home/jenkins:/var/jenkins_home \
--restart always \
--user root local/jenkins

-p: 将容器内的端口映射到宿主机的端口。格式为:宿主机端口:容器端口
-v: 将宿主机内的文件挂载到容器目录下。格式为:宿主机目录:容器目录
--user: 指定用户启动
--restart: 当 Docker 重启时,容器自动启动,否则就需要使用 docker restart 手动启动

启动后,会返回一串ID值,这就是 容器ID 值。
jenkins2

执行 docker ps 命令,查看Jenkins容器是否在列表内。如果在列表内,说明启动成功

jenkins3

4. 启动 Jenkins

首先我们在防火墙添加 8080 和 50000 端口的放行,并重载防火墙

firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=50000/tcp --permanent
systemctl reload firewalld

容器启动后,访问 宿主机IP:8080 。如果看到以下界面,代表正在启动。

5. 初始化 Jenkins 配置

解锁 Jenkins

Jenkins 启动完成后,会跳转至这个界面解锁 Jenkins
jenkins4
Jenkins启动后,会生成一个 初始密码 ,该密码在 Jenkins 容器内存放,可以进入容器后查看密码内容。

docker exec -it jenkins /bin/bash
cat /var/jenkins_home/secrets/initialAdminPassword

输入配置文件中的密码,解锁 Jenkins

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant