CentOS下使用Docker安装Jenkins及配置详细教程
一、前言
1、本文主要内容
-
Docker环境下安装Jenkins -
Jenkins的基础配置 -
插件的安装方式 -
Jenkins角色权限说明
2、Jenkins介绍
Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件,提供非常多的插件来可以满足任何项目的需要。
Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序,本篇文章将介绍采用Docker安装的方式。
Jenkins官网:https://www.jenkins.io/zh
3、本篇环境信息
-
服务器
操作系统 硬件配置 IP 说明 CentOS 7 4C16G 10.133.28.54 部署Jenkins -
Jenkins版本
Jenkins安装包有两种,一种是LTS,一种是Weekly。LTS是稳定版,Weekly每周会更新一次,一般使用LTS就行了,最新版的LTS:2.235.2
-
Docker
Docker Engine - Community : 19.03.8
二、准备工作
1、Docker 环境安装
在Linux服务器上安装Docker环境,具体可以参考:
2、开放端口号8080(Jenkins服务的端口号)
#开放8080端口号
firewall-cmd --zone=public --add-port=8080/tcp --permanent
#重载防火墙规则
sudo firewall-cmd --reload
三、安装及配置
1、Docker环境下安装Jenkins
-
下载Jenkins的Docker镜像
docker pull jenkins/jenkins:lts
-
在Docker容器中运行Jenkins
docker run -p 8080:8080 -p 50000:5000 --name jenkins \
-u root \
-v /home/zkgc/mydata/jenkins_home:/var/jenkins_home \
-d jenkins/jenkins:lts
这样Jenkins就安装完成了,有Docker的时代,确实方便哈~
2、登录及基础配置
-
登录Jenkins
-
寻找密码
在不同平台安装,其密码寻找的方式不太一样,使用Docker安装,可以使用以下命令从容器启动日志中获取管理密码:
[zkgc@tcosmapp01 jenkins_home]$ sudo docker logs jenkins
Running from: /usr/share/jenkins/jenkins.war
webroot: EnvVars.masterEnvVars.get("JENKINS_HOME")
……………………
……………………
2020-07-25 01:21:23.422+0000 [id=31] INFO jenkins.install.SetupWizard#init:
*************************************************************
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
ab15cf32f3f14bbf898bb5c22ac24165
This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
*************************************************************
-
自定义Jenkins,我们这里直接选择
安装推荐的插件
,点击之后,自动安装 -
自动安装,等待完成即可
-
安装完成后,创建一个用户
-
进行实例配置,没有特殊需求默认即可
-
大功告成,可以使用了
3、插件安装
插件时Jenkins非常强大的地方,有几千个插件供我们选择,下面我们来看下如何安装Jenkins的插件。
-
进入路径:Manage Jenkins-->Manage Plugins
-
插件管理
页面如下,主要分4个tab页,有可更新,可选插件,已安装,高级。在可选插件tab页面,可以搜索自己想要安装的插件。
插件很多,非常方便,还需要什么插件,直接搜索安装即可。
-
安装角色管理插件:Role-based Authorization Strategy
-
安装SSH插件
4、全局工具配置
插件安装完成之后,接下来需要做一些全局的配置,例如:Git、Maven、刚才安装的SSH插件的配置等
-
进入路径:Manage Jenkins-->Global Tool Configuration
-
配置Maven
目前Maven最新版就是3.6.3,我们选择最新版,这样就安装上3.6.3版本的Maven了
-
全局配置里面还提供了:JDK、Git、Gradle、Ant的配置选项,这些没有特殊需求采用默认即可,不在展开安装了。
5、系统配置
接下来我们看一下Jenkins的系统配置都有哪些可配置项,现阶段我们只需要配置一个SSH即可
-
进入路径:Manage Jenkins --> Configure System
-
往下滑,找到SSH remote hosts,并点击【新增】按钮,按照提示操作即可
-
还可以配置邮箱,Github等等
6、角色权限管理
在刚才我们安装了Role-based Authorization Strategy插件,可以使用该插件来管理角色。Jenkins默认是没有做任何权限控制的,登录之后就可以做任何事情。我们需要先改变下这个配置。
-
进入路径:Manage --> Configure Global Security 按照图上的操作,同时禁用代理,图上没标,懒了,不重新标了
-
角色权限设置进入路径:Manage-->Manage and Assign Roles
-
进入管理角色,设置运维角色,角色分:Global roles、Item roles、Node roles三种,根据需求设置即可
-
进入分配角色,可以给用户分配对应的角色,目前只有一个用户,可以自行创建,创建用户非常简单,不在说明。
7、项目构建访问控制
一个公司内部,会有很多的项目,那么项目在构建的时候,我们就想要对它进行权限控制,这个单独说一下,Jenkins有个插件【Authorize Project】,就是做了这个事情,可以非常方便的控制项目的构建。
-
插件中心安装【Authorize Project】插件,忘记如何安装的,请往上翻。
-
在配置全局安全性模块【Manage-->Configure Global Security 】找到【Access Control for Builds】,按照下图进行操作,里面的选项可以根据需要来进行勾选
-
在项目的侧边栏菜单中会出现授权的选项
-
可以在授权页面选择如何进行项目的构建
剩下的自己研究研究玩玩就好啦
觉得有用就顺手转发一下,右下角点个在看,非常感谢!
长按/扫码关注我吧,会找到你想要的……
喜欢就点个在看吧