Jenkins 部署

一、jenkins安装

ava 环境配置:
root@jenkins:/usr/local/src# tar xvf jdk-8u192-linux-x64.tar.gz
root@jenkins:/usr/local/src# ln -sv /usr/local/src/jdk1.8.0_192/ /usr/local/jdk
root@jenkins:/usr/local/src# ln -sv /usr/local/jdk/bin/java /usr/bin/ #java 命令软连接

root@jenkins:/usr/local/src# vim /etc/profile
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar

root@jenkins:/usr/local/src# source /etc/profile

root@jenkins:/usr/local/src# java -version
java version "1.8.0_192"
Java(TM) SE Runtime Environment (build 1.8.0_192-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.192-b12, mixed mode)


1.Docker方式
docker run -u root --rm  -d  -p 8080:8080 -p 50000:50000 
-v jenkins-data:/var/jenkins_home \ 
-v /var/run/docker.sock:/var/run/docker.sock \ 
jenkinsci/blueocean 


2.rpm和deb方式(推荐)

https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.319.3-1.1.noarch.rpm
yum  install jenkins-2.319.3-1.1.noarch.rpm

3.tomcat或jar(war)方式
3.1.war包方式
java \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=12345 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-Djava.rmi.server.hostname="192.168.8.2 " \
-jar jenkins-2.138.3.war &

可选启动参数:
JENKINS_JAVA_OPTIONS="--server -Xms1g -Xmx1g -Xss512k -Xmn1g
-XX:CMSInitiatingOccupancyFraction=65
-XX:+UseFastAccessorMethods
-XX:+AggressiveOpts -XX:+UseBiasedLocking
-XX:+DisableExplicitGC -XX:MaxTenuringThreshold=10
-XX:NewSize=2048M -XX:MaxNewSize=2048M -XX:NewRatio=2
-XX:PermSize=128m -XX:MaxPermSize=512m -XX:CMSFullGCsBeforeCompaction=5
-XX:+ExplicitGCInvokesConcurrent -XX:+UseConcMarkSweepGC -XX:+UseParNewGC
-XX:+CMSParallelRemarkEnabled -Djava.awt.headless=true



3.2.tomcat方式
tomcat方式
[root@localhost7B webapps]#cp  jenkins-2.204.4.war  /usr/local/tomcat/webapps
[root@localhost7B webapps]#unzip  jenkins-2.204.4.war  -d jenkins
[root@localhost7B tomcat]# vim  conf/server.xml
      <Host name="localhost"  appBase="webapps" unpackWARs="false" autoDeploy="false">

测试:192.168.80.110:8080/jenkins

二、配置文件说明:

root@localhost7B ~]# rpm  -ql  jenkins
/etc/init.d/jenkins
/etc/logrotate.d/jenkins
/etc/sysconfig/jenkins  #配置文件
/usr/lib/jenkins
/usr/lib/jenkins/jenkins.war
/usr/sbin/rcjenkins
/var/cache/jenkins
/var/lib/jenkins      #日志 插件 
/var/log/jenkins
/var/cache/jenkin/hudson.plugins.emailext.ExtendedEmailPublisher.xml 插件更新地址
/var/cache/jenkin/
/var/cache/jenkin/plugins  插件
/var/lib/jenkins/secrets/   第一次启动初始化密码



如果显示jenkins已离线,将以下文件中的更新检查地址改成国内清华大学地址,然后重启jenkins即可:
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json,注意,里面的URL地址,大部分是外网,可能需要做nginx代理。

[root@localhost7B ~]# cat /var/lib/jenkins/hudson.model.UpdateCenter.xml 
<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>https://updates.jenkins.io/update-center.json</url>
  </site>
</sites>



2.配置文件说明:
[root@localhost7B ~]# grep -v "#" /etc/sysconfig/jenkins | grep -v "^$"
JENKINS_HOME="/var/lib/jenkins"  #jenkins家目录,保存着其构建的项目、安装的插件
JENKINS_JAVA_CMD=""                 # JAVA环境变量,如果提示找不到JAVA路径,需要配置,例如:"$JAVA_HOME/bin/java"
JENKINS_USER="jenkins"             # 默认 "jenkins" 建议修改为root,避免将来部署代码到后端服务因为权限问题导致部署失败
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true"
JENKINS_PORT="8080"
JENKINS_LISTEN_ADDRESS=""
JENKINS_HTTPS_PORT=""
JENKINS_HTTPS_KEYSTORE=""
JENKINS_HTTPS_KEYSTORE_PASSWORD=""
JENKINS_HTTPS_LISTEN_ADDRESS=""
JENKINS_HTTP2_PORT=""
JENKINS_HTTP2_LISTEN_ADDRESS=""
JENKINS_DEBUG_LEVEL="5"
JENKINS_ENABLE_ACCESS_LOG="no"
JENKINS_HANDLER_MAX="100"
JENKINS_HANDLER_IDLE="20"
JENKINS_EXTRA_LIB_FOLDER=""
JENKINS_ARGS=""

三、配置 jenkins 多用户权限授权管理

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


1.安装Role-based插件,基于角色的认证策略(Manage Jenkins--> plugin manage)
2.Manage Jenkins--> Configure Global Security中的授权策略中启用 Role-Based Strategy点击保存,会出现Manage and Assign Roles模块。
3.创建项目linux39-app1 magedu-app1

 


 

4.在Manage Jenkins-->Manage User 创建用户:zzhz-user  zjol-user



5.创建全局角色,并设置权限 Manage Jenkins--> Manage and Assign Roles--> Manage Roles
6.创建item角色,并匹配项目和设置权限,Manage Jenkins--> Manage and Assign Roles--> Manage Roles

7.设置用户与全局角色关联。 8.设置用户与item角色关联。Manage Jenkins--> Manage and Assign Roles--> Assign Roles

 

 9.使用zzhz-user登录查看。

 

 



 

posted @ 2023-01-19 13:50  yuanbangchen  阅读(16)  评论(0编辑  收藏  举报