使用Docker安装Jenkins

Posted zzhaolei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Docker安装Jenkins相关的知识,希望对你有一定的参考价值。

安装Docker

CentOS 7上安装docker-ce,首先检查系统中是否已经安装过docker及相关依赖:

$ sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine

通过仓库进行安装,安装所需的包:

$ sudo yum install yum-utils device-mapper-persistent-data lvm2

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

启用稳定版的仓库sudo yum-config-manager --enable docker-ce-stable,
禁用仓库sudo yum-config-manager --disable docker-ce-stable

安装docker-ce,sudo yum install docker-ce.如果出现key相关错误,可以重新安装一下,会使用下载的缓存,并提示导入指纹。

启动docker,sudo systemctl start docker

现在使用docker相关命令的话,需要sudo权限,可以将当前用户添加进入docker组,
sudo usermod -aG docker $USER
退出shell,重新进入就不需要sudo权限了

修改docker镜像为中国官方镜像sudo vim /etc/docker/daemon.json,添加以下内容
"registry-mirrors":["https://registry.docker-cn.com"]

从服务器拉取jenkins/jenkins:lts镜像,docker pull jenkins/jenkins:lts

home目录创建jenkins文件夹mkdir jenkins

启动容器

docker run -u root --rm -d -p 8080:8080 -p 50000:50000 -v $HOME/jenkins:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkins/jenkins:lts

系统重启,容器启动:
docker run -u root -d -p 8080:8080 -p 50000:50000 --name jenkins --restart always -v $HOME/jenkins:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkins/jenkins:lts

--rm : 退出并删除容器

在浏览器中输入本机ip:8080,即可访问。会提示密码路径,使用命令sudo cat $HOME/jenkins/secrets/initialAdminPassword查看密码.
在浏览器中输入密码,选择插件,创建账户。

有的插件需要以手动下载和上传的方式安装。从这个网站http://updates.jenkins-ci.org/download/plugins/查找需要手动安装的包文件夹,下载。

删除所有容器(除了正在运行的)

docker rm $(sudo docker ps -a -q)

停止正在运行的所有容器

docker stop $(sudo docker ps -q)

docker使用apt-get进行安装和其他操作,默认就是root权限。

关于报错

如果系统重启后,使用docker ps -a报以下错误
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

一般是因为daemon.json配置文件出问题了。
删除里面的配置,重启,再添加源,重启。
也可能是selinux没有关闭的原因。

使用安装的包的方式安装Jenkins

安装Jenkins

  • 安装Jenkins源文件
    curl -o /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo,

  • 导入秘钥
    rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

  • 安装Jenkins
    yum install jenkins

安装依赖

Jenkins依赖JDK官网

下载jdk-8u181, 安装

使用Jenkins

启动jenkins服务, systemctl start jenkins, 直接在浏览器只能够访问http://localhost:8080, 默认端口是8080

  1. 会进入Unlock Jenkins界面,里面会有高亮显示的路径,这个路径里面保存的是初始化admin的密码, /var/lib/jenkins/secrets/initialAdminPassword, 在终端中查看密码cat /var/lib/jenkins/secrets/initialAdminPassword, 将密码拷贝进页面的输入框内,点击Continue.

  2. 安装插件,这里使用的是默认的插件,可以自定义需要安装的插件。

  3. 注册账号,使用自己心仪的用户名和密码,以及邮箱

  4. 开始使用

Jenkins插件换源

Jenkins插件下载和更新的会非常慢,更换为国内的源以提升速度。

进入jenkins系统管理-->插件管理-->高级, 将升级站点URL替换为国内的源, 这里使用的是清华大学的镜像https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

Jenkins一般需要的插件

  • GitLab相关
    GitLab, GitLab hook, Gitlab Authentication, Build Authorization Token Root, Generic Webhook Trigger

  • SSH
    Publish over SSH, SSH

  • 邮件
    Email Extension

以上是关于使用Docker安装Jenkins的主要内容,如果未能解决你的问题,请参考以下文章

使用Jenkins docker镜像运行Jenkins服务

怎样用JenkinsDocker和CI/CD构建无服务器应用程序?

从jenkins docker ecs容器中访问ecr图像

jenkins docker

jenkins部署设置,权限管理,pipeline语法自动构建,必备插件等

jenkins部署设置,权限管理,pipeline语法自动构建,必备插件等