3--Jenkins详解 、用户权限、构建maven、参数化构建

一、Jenkins

https://pkg.jenkins.io/redhat-stable/

Jenkins是一个自动化部署的工具。依赖于Java开发的,由各种组件组成的一个自动化部署工具

1.安装Jenkins

#1.安装Java
[root@jenkins jenkins]# yum install java-1.8.0-openjdk* -y
 
#2.安装Jenkins
方式一
# 安装Jenkins(推荐,因为yum默认为新版本,不建议安装太新的版本)
[root@jenkins jenkins]]# mkdir packages && cd packages
[root@jenkins jenkins]# wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.249.1-1.1.noarch.rpm
[root@jenkins jenkins]# yum localinstall -y jenkins-2.249.1-1.1.noarch.rpm
[root@jenkins jenkins]# systemctl restart jenkins

方式二
# yum方式安装需要安装认证 Key
[root@jenkins jenkins]# rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
# 安装Jenkins
[root@jenkins jenkins]# yum install jenkins
[root@jenkins jenkins]# systemctl restart jenkins

2.登录

[root@jenkins jenkins]# cat /var/lib/jenkins/secrets/initialAdminPassword
e59b14429016454f8ec2e5e7a34f6449

3.安装插件

#1.安装插件
#添加插件
[root@gitlab jenkins]# tar -xf /opt/plugins.tar.gz -C /var/lib/jenkins
# 授权jenkins用户
[root@gitlab ~]# chown -R jenkins.jenkins /var/lib/jenkins/
#重启
[root@gitlab jenkins]# systemctl restart jenkins.service 

4.Jenkins中的凭证和远程连接机器

# 系统管理  ->  Manage Credentials -> 全局 -> 添加凭据

# Jenkins通过SSH下载代码
1、将Jenkins服务器中的公钥放到GitLab上SSH秘钥
  #测试。可以下载  
[root@k8s-m-03 ~]# git clone git@192.168.15.14:root/xiangmu1.git

2、将Jenkins服务器私钥放到Jenkins凭证(Manage Credentials)之中
    
# Jenkins连接远程机器
	1、系统管理 -> 系统配置 -> SSH remote hosts
	或者
	2、系统管理 -> 系统配置 -> Publish over SSH
    [root@jenkins ~]# cat /root/.ssh/id_rsa 私钥

配置凭证

配置凭证

Jenkins连接远程机器

5.项目所存在的目录

[root@jenkins ~]# cd /var/lib/jenkins/jobs/    #项目目录
[root@jenkins jobs]# ll
total 0
drwxr-xr-x 3 jenkins jenkins 61 Aug 16 15:35 test-dep-01
drwxr-xr-x 3 jenkins jenkins 61 Aug 16 15:13 test-dep-1
[root@jenkins workspace]# pwd
/var/lib/jenkins/workspace    #工程目录,下载代码的目录

6.优化

[root@gitlab updates]# cd /var/lib/jenkins/updates/
[root@gitlab updates]# sed -i 's/https:\/\/updates.jenkins.io\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json
[root@gitlab updates]# sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

#最后,系统管理 --> 插件管理 --> 高级,把站点升级改为国内插件下载地址
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

二、解决jenkins忘记用户密码问题

#1.找到存密码的文件
[root@jenkins ~]# cd /var/lib/jenkins/users/
[root@jenkins /var/lib/jenkins/users]# ll
total 4
drwx------ 2 jenkins jenkins  24 Aug 13 11:56 mm_7745824900363635554
-rw-r--r-- 1 jenkins jenkins 294 Aug 13 11:55 users.xml

[root@jenkins elainafang_4555949760451263805]# vim mm_7745824900363635554/config.xml 
 #2.将密码内容替换成123456的密码内容   #在网上查看jenkins密码
<passwordHash>#jbcrypt:$2a$10$2LvNPMgFiYAyT/CeE5FwnOUkQz4SbTd9Myq/pWf5qAQtz0MWe6K86</passwordHash>
替换成              <passwordHash>#jbcrypt:$2a$10$MiIVR0rr/UhQBqT.bBq0QehTiQVqgNpUGyWW2nJObaVAM/2xSQdSq</passwordHash>
  
#3.重新加载内面用123456密码登录后在修改密码

三、用户权限 (RBAC权限)

1.授权策略

2.创建用户和修改密码

3.创建及管理权限组

系统管理 —> Manage and Assign Roles —> Manage Roles —> 各个角色(权限组)

Global roles(全局角色): # 管理员等高级用户可以创建基于全局的角色 
Item roles(项目角色):   #  针对某个或者某些项目的角色 ,添加成组
Node roles(节点角色):   # 节点相关的权限

Base:   # 设置成所有的用户都有查看的权限
Alvin:  # 设置以alvin开头的项目有超管权限
Oldboy: # 设置以oldboy开头的项目有超管权限

4.分配角色组权限

系统管理 —> Manage and Assign Roles —> Assign Roles

5.使用通配符分配权限

.* : 匹配以什么开头的项目

四、Jenkins构建maven

1.配置maven环境

# 下载
[root@jenkins ~]# wget https://mirrors.aliyun.com/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz

#2.解压
[root@jenkins ~]# tar xf apache-maven-3.6.3-bin.tar.gz -C /usr/local/
[root@jenkins ~]# cd /usr/local/
[root@jenkins local]# ll
total 0
drwxr-xr-x  6 root root 99 Aug 17 06:43 apache-maven-3.6.3

#3.添加环境变量
[root@jenkins local]# ln -s /usr/local/apache-maven-3.6.3 /usr/local/maven      #建软连接 
[root@jenkins maven]# vim /etc/profile   #添加环境变量
... ...
xport MAVEN_HOME=/usr/local/maven
export PATH=$PATH:$MAVEN_HOME/bin
[root@jenkins maven]# source /etc/profile   #重载环境变量

[root@jenkins ~]# mvn --version   #测试
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /usr/local/maven
Java version: 1.8.0_302, vendor: Red Hat, Inc., runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el7_9.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.4.138-1.el7.elrepo.x86_64", arch: "amd64", family: "unix"

2.配置maven

#配置JDK
[root@jenkins java-1.8.0-openjdk]# pwd   #jdk目录的位置
/usr/lib/jvm/java-1.8.0-openjdk

[root@jenkins ~]# cd /usr/local/maven/   #maven路径
[root@jenkins maven]# pwd
/usr/local/maven

3.安装maven插件

3. 创建maven仓库

使用jenkins用户在/data/software目录下新建一个repository文件夹,用来作为maven的仓库

[root@jenkins ~]# mkdir -pv /data/software/repository
mkdir: created directory ‘/data’
mkdir: created directory ‘/data/software’
mkdir: created directory ‘/data/software/repository’
[root@jenkins ~]# chown jenkins.jenkins /data/software/repository/

使用root账户修改Maven的settings.xml文件(指定仓库目录和阿里云镜像)

[root@jenkins ~]# vim /usr/local/maven/conf/settings.xml
添加
<!--本地仓库-->          
  <localRepository>/data/software/repository</localRepository>
  
  <mirrors> #里面有这一行,不必再写
    <!--阿里云镜像-->
    <mirror>
      <id>aliyun-maven</id>
      <mirrorOf>central</mirrorOf>
      <name>aliyun maven mirror</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    </mirror>
  </mirrors>

五、参数化构建

https://blog.csdn.net/mm970919/article/details/119711839

posted @ 2021-08-23 06:59  小绵  阅读(621)  评论(0编辑  收藏  举报