DEVOPS运维开发二(jenkins服务器简单搭建)

jenkins是一款集成的CI/CD工具,有很多好用的插件,用于自动的代码拉取-代码审查-编译构建-发布。另外也集成了k8s的发布。

安装jenkins

1.安装JDK
Jenkins需要依赖JDK,所以先安装JDK1.8

yum install java-1.8.0-openjdk* -y

安装目录为:/usr/lib/jvm
2. 获取jenkins安装包

下载页面:https://www.jenkins.io/zh/download/

3. 安装jenkins

rpm -ivh Jenkins.rpm

4. 修改Jenkins配置

vim /etc/sysconfig/Jenkins
修改如下内容:
JENKINS_USER=”root”
JENKINS_PORT=”8888”

5. 启动Jenkins

systemctl start Jenkins

6. 把端口加进防火墙

sudo firewall-cmd --permanent --zone=public --add-port=8888/tcp 
sudo firewall-cmd --reload

7.获取并输入admin账户密码

cat /var/lib/jenkins/secrets/initialAdminPassword

8.跳过插件安装(不然会非常慢,跳过之后改成国内的)
DEVOPS运维开发二(jenkins服务器简单搭建)_第1张图片

安装中文插件

1.修改Jenkins插件下载地址
改为国内地址
Jenkins->Manage Jenkins->Manage Plugins ,点击Available

cd /var/lib/Jenkins/updates
sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

再回到界面
将Advanced里面的url改成https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
2.重启jenkins
方式1 改浏览器后缀8888/restart
方式2 systemctl restart jenkins

3.安装中文汉化插件
Jenkins->Manage Jenkins->Manage Plugins ,点击Available,搜索“Chinese”
需下载完成后重启安装才可以生效

安装用户权限插件

1.安装Role-based-Authorization Strategy插件
不重启安装
DEVOPS运维开发二(jenkins服务器简单搭建)_第2张图片

2.开启权限全局安全配置
系统管理->全局安全配置->授权策略。

更改为Role-Based Strategy
3.创建角色
系统管理-> Manage and Assign Roles->Manage Roles
全局角色
项目角色
节点角色
需要赋予权限,pattern里面可以添加通配符,设定角色可以访问的目录和项目
4.创建用户
系统管理-> 管理用户->新建用户

5.给用户分配角色
系统管理-> Manage and Assign Roles->Assign Roles
global role里面加入各个用户,并且给与相应的权限,有的是管理员,有的是简单使用者。只有baseRole的read权限

item role里面将各个用户分配给各个项目
6.新建项目。
建了项目名字之后,自动会根据通配符分配角色和用户。

凭证配置和管理

凭证可以用来存储需要密文保护的数据库密码、Gitlab密码,Docker私有仓库密码等,以便jenkins可以和这些第三方的应用进行交互
1.安装Credentials Blinding插件
DEVOPS运维开发二(jenkins服务器简单搭建)_第3张图片
无重启安装后,左边多出了“凭证”菜单,在这里管理所有凭证
5种凭证类型
Username with password 用户密码名。如gitlab
SSH Username with private key SSH免密登录。gitlab和github也支持免密登录
Secret file 需要保密的文本文件。使用时jenkins会将文件复制到一个临时目录中,再将文件路径设置到一个变量中,等构建结束后,所复制的secret file就会被删除。
Secret text 密钥文本串。如钉钉机器人或github的api token
Certificate 通过上传证书文件的方式
接下来以使用Git工具到Gitlab拉取项目源码为例,演示jenkins如何管理Gitlab的凭证。
2.安装Git插件和Git工具
为了让jenkins支持从Gitlab拉取源码,需要安装Git插件以及在Centos上安装Git工具
Git插件安装:
DEVOPS运维开发二(jenkins服务器简单搭建)_第4张图片
Centos上安装git工具:

yum install git -y

凭证类型1:普通用户密码凭证
DEVOPS运维开发二(jenkins服务器简单搭建)_第5张图片
添加成功后,凭证界面就有此凭证了
DEVOPS运维开发二(jenkins服务器简单搭建)_第6张图片
新建项目,此时会出现Git选项,Repository URL地址就为gitlab中的对应项目HTTP方式克隆地址。
凭证类型2:SSH密钥类型
1) 使用root用户生成公钥和私钥

ssh-keygen -t rsa

在/root/.ssh/目录中保存了公钥和私钥
DEVOPS运维开发二(jenkins服务器简单搭建)_第7张图片
id_rsa:私钥文件
id_rsa.pub:公钥文件
公钥复制到gitlab的秘钥管理中去。
私钥在jenkins凭证里面添加即可。
用cat id_rsa命令可查看内容

注:以上我们完成了初步的搭建,可以做到手动拉取代码的动作。利用pipeline,编写相关插件和运行脚本,后面可以配置成为集自动拉取代码,代码审查,自动编译构建,发布的一体化工具。

你可能感兴趣的:(devops,运维开发,jenkins,gitlab)