在CentOS7系统使用Docker构建Jenkins

在CentOS7系统使用Docker构建Jenkins

详情可参照官方安装连接,以下只记录一些关键步骤

前提

假设docker已安装的前提下,如需了解CentOS7系统安装Docker,可参照笔记ecs操作部分步骤-安装docker

准备

  • 需要了解docker基本命令操作
  • 登录ecs服务器,创建jenkins挂载目录
  • 登录dockerhub,选择官方版本及阅读说明文档;也可使用docker search -s 100 ‘jenkins’直接搜索jenkins镜像start大于100的

设置卷位置

在设置其他所有内容之前,请配置一个新的环境变量$GITLAB_HOME ,该变量指向配置,日志和数据文件将驻留的目录。确保目录存在并且已授予适当的权限。

对于Linux用户,将路径设置为/srv/gitlab:

1
export JENKINS_HOME=/srv/jenkins

对于macOS用户,请使用用户$HOME/gitlab目录:

1
export JENKINS_HOME=/srv/jenkins

额外加个nginx环境变量,方便jenkins shell构建使用

1
export NGINX_WWW=/srv/www

Linux,macOS查看环境变量

1
env

安装

1
2
3
4
5
// 1.从docker镜像仓库拉取最新的jenkins(一般选择lts,长期支持的版本,会定时发布系统更新)(https://hub.docker.com/r/jenkins/jenkins)
docker pull jenkins/jenkins:lts

// 2.查看已安装的docker jenkins
docker images | grep "jenkins"

运行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// 官方配置
docker run \
-u root \
--rm \ // 关闭时自动删除Docker容器
-d \ // 在后台运行容器(即“分离”模式)并输出容器ID
-p 7199:8080 \ // 容器的端口映射
-p 50000:50000 \ // 主站进行通信,容器的端口映射
--name jenkins // 容器名称
-v $JENKINS_HOME:/var/jenkins_home \ // 磁盘挂载
-v $NGINX_WWW:/srv/www \ // 磁盘挂载,重要,此挂载可以达到在容器内部cp数据到host
-v /var/run/docker.sock:/var/run/docker.sock \ // jenkins容器与Docker守护进程通信
docker.io/jenkins/jenkins:lts // 安装的镜像包名 REPOSITORY:TAG

// 简化版
docker run --name jenkins -u root -d -p 7199:8080 -p 50000:50000 -v $JENKINS_HOME:/var/jenkins_home -v $NGINX_WWW:/srv/www docker.io/jenkins/jenkins:lts

// 查看运行的容器
docker container ls
// 或
docker ps

访问

1
2
3
4
5
// 本地访问(忽略)
http://loalhost:7199

// 局域网访问(注意:可查看域名配置-设置白名单笔记,配置安全组规则,允许7199入方向)
http://服务器ip:7199

其他,安装jenkins后设置向导

  • 自动跳转输入管理员密码,解锁Jenkins
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    // 首屏提示
    Please wait while Jenkins is getting ready to work ...
    Your browser will reload automatically when Jenkins is ready.

    // 自动跳转设置管理员密码页面
    解锁 Jenkins
    为了确保管理员安全地安装 Jenkins,密码已写入到日志中(不知道在哪里?)该文件在服务器上:
    /var/jenkins_home/secrets/initialAdminPassword
    请从本地复制密码并粘贴到下面。
    管理员密码

管理员密码页面

  • 查看登录密码

    • 如果您以分离模式在Docker中运行Jenkins,则可以从Docker日志(above) 访问Jenkins控制台日志

    • Jenkins控制台日志显示可以获取密码的位置(在Jenkins主目录中)。 必须在新Jenkins安装中的安装向导中输入此密码才能访问Jenkins的主UI。 如果您在设置向导中跳过了后续的用户创建步骤, 则此密码还可用作默认admininstrator帐户的密码(使用用户名“admin”)

1
2
3
4
5
// 直接在挂载的目录下查看,返回密码
cat /jenkins/secrets/initialAdminPassword
// 进入容器内部获取密码
docker exec -it "容器ID" bash
cat /var/jenkins_home/secrets/initialAdminPassword
  • 直接粘贴到管理员密码输入框中即可(一般为一串加密的hash值)
  • 新手入门-可选择安装推荐的插件(也可选择自定义插件)
  • 创建第一个管理员用户
  • 实例配置

    1
    2
    3
    Jenkins URL: http://服务器ip:7199
    Jenkins URL 用于给各种Jenkins资源提供绝对路径链接的根地址。 这意味着对于很多Jenkins特色是需要正确设置的,例如:邮件通知、PR状态更新以及提供给构建步骤的BUILD_URL环境变量。
    推荐的默认值显示在尚未保存,如果可能的话这是根据当前请求生成的。 最佳实践是要设置这个值,用户可能会需要用到。这将会避免在分享或者查看链接时的困惑。
  • Jenkins已就绪-开始使用Jenkins

0%