79-Ubuntu-jenkins部署与基础


#准备JAVA环境
[root@jenkins-server ~]# hostname
jenkins-server
[root@jenkins-server ~]# ip a|sed -n '9p'
    inet 10.20.0.31/16 brd 10.20.255.255 scope global eth0
[root@jenkins-server ~]# cat /etc/apt/sources.list
#默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

[root@jenkins-server ~]# apt update
[root@jenkins-server ~]# apt list openjdk-8*
Listing... Done
openjdk-8-dbg/bionic-updates,bionic-security 8u252-b09-1~18.04 amd64
openjdk-8-demo/bionic-updates,bionic-security 8u252-b09-1~18.04 amd64
openjdk-8-doc/bionic-updates,bionic-updates,bionic-security,bionic-security 8u252-b09-1~18.04 all
openjdk-8-jdk/bionic-updates,bionic-security 8u252-b09-1~18.04 amd64
……………..

[root@jenkins-server ~]# apt install openjdk-8-jdk

[root@jenkins-server ~]# java -version
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)

#通过 deb 包安装 jenkins
官方下载地址

[root@jenkins-server ~]# cd /usr/local/src/
[root@jenkins-server src]# wget https://pkg.jenkins.io/debian-stable/binary/jenkins_2.204.4_all.deb
[root@jenkins-server src]# ll
total 62320
….
-rw-r--r--  1 root root 63801152 Jun 28 23:14 jenkins_2.204.4_all.deb
[root@jenkins-server src]# apt install daemon
[root@jenkins-server src]# dpkg -i jenkins_2.204.4_all.deb 
Selecting previously unselected package jenkins.
(Reading database ... 83080 files and directories currently installed.)
Preparing to unpack jenkins_2.204.4_all.deb ...
Unpacking jenkins (2.204.4) ...
Setting up jenkins (2.204.4) ...
Processing triggers for ureadahead (0.100.0-21) ...
Processing triggers for systemd (237-3ubuntu10.24) ...
[root@jenkins-server src]# echo $?
0

[root@jenkins-server src]# systemctl start jenkins
[root@jenkins-server src]# systemctl enable jenkins
jenkins.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable jenkins
[root@jenkins-server src]# systemctl status jenkins
● jenkins.service - LSB: Start Jenkins at boot time
   Loaded: loaded (/etc/init.d/jenkins; generated)
   Active: active (exited) since Sun 2020-06-28 23:17:19 CST; 1min 8s ago
     Docs: man:systemd-sysv-generator(8)
    Tasks: 0 (limit: 2290)
   CGroup: /system.slice/jenkins.service

Jun 28 23:17:17 jenkins-server systemd[1]: Starting LSB: Start Jenkins at boot time...
Jun 28 23:17:17 jenkins-server jenkins[1884]: Correct java version found
Jun 28 23:17:18 jenkins-server jenkins[1884]:  * Starting Jenkins Automation Server jenkins
Jun 28 23:17:18 jenkins-server su[1928]: Successful su for jenkins by root
Jun 28 23:17:18 jenkins-server su[1928]: + ??? root:jenkins
Jun 28 23:17:18 jenkins-server su[1928]: pam_unix(su:session): session opened for user jenkins by (uid=0)
Jun 28 23:17:18 jenkins-server su[1928]: pam_unix(su:session): session closed for user jenkins
Jun 28 23:17:19 jenkins-server jenkins[1884]:    ...done.
Jun 28 23:17:19 jenkins-server systemd[1]: Started LSB: Start Jenkins at boot time.

[root@jenkins-server src]# ps -ef|grep jenkins
jenkins    1930      1  0 23:17 ?        00:00:00 /lib/systemd/systemd --user
jenkins    1931   1930  0 23:17 ?        00:00:00 (sd-pam)
jenkins    1945      1  0 23:17 ?        00:00:00 /usr/bin/daemon --name=jenkins --inherit --env=JENKINS_HOME=/var/lib/jenkins --output=/var/log/jenkins/jenkins.log --pidfile=/var/run/jenkins/jenkins.pid -- /usr/bin/java -Djava.awt.headless=true -jar /usr/share/jenkins/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8080
jenkins    1947   1945 16 23:17 ?        00:00:18 /usr/bin/java -Djava.awt.headless=true -jar /usr/share/jenkins/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8080
root       2148    997  0 23:19 pts/0    00:00:00 grep --color=auto jenkins

[root@jenkins-server src]# lsof -i:8080
COMMAND  PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    1947 jenkins  165u  IPv6  30945      0t0  TCP *:http-alt (LISTEN)

[root@jenkins-server src]# grep "^[a-Z]" /etc/default/jenkins 
NAME=jenkins
JAVA_ARGS="-Djava.awt.headless=true"
PIDFILE=/var/run/$NAME/$NAME.pid
JENKINS_USER=$NAME
JENKINS_GROUP=$NAME
JENKINS_WAR=/usr/share/$NAME/$NAME.war
JENKINS_HOME=/var/lib/$NAME
RUN_STANDALONE=true
JENKINS_LOG=/var/log/$NAME/$NAME.log
JENKINS_ENABLE_ACCESS_LOG="no"
MAXOPENFILES=8192
HTTP_PORT=8080
PREFIX=/$NAME
JENKINS_ARGS="--webroot=/var/cache/$NAME/war --httpPort=$HTTP_PORT"

#通过查看日志获取初始化安装的密码
[root@jenkins-server src]# tail -n40 /var/log/jenkins/jenkins.log 

*************************************************************
*************************************************************
*************************************************************

Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:

f6830b6c5d974eb1829e13f8e25c62e3       #初始化密码

This may also be found at: /var/lib/jenkins/secrets/initialAdminPassword

*************************************************************
*************************************************************
*************************************************************

#或者
[root@jenkins-server src]# cat /var/lib/jenkins/secrets/initialAdminPassword 
f6830b6c5d974eb1829e13f8e25c62e3

#访问web初始化界面: 10.20.0.31:8080
在这里插入图片描述


#在安装插件之前,Jenkins 会检查网络的可用性。默认 Jnekins 检查可本机是否可联网是检查的/var/lib/jenkins/updates/default.json 中定义的第一个键所对应的网址www.google.com,而国内由于某种原因无法访问谷歌。解决方法为:将检查地址改为百度或者其它的国内网址即可。
在这里插入图片描述


#将 www.google.com 改成 www.baidu.com

[root@jenkins-server src]# cut -d, -f1 /var/lib/jenkins/updates/default.json 
{"connectionCheckUrl":"http://www.google.com/"

#将插件更新检查地址改为清华大学地址

[root@jenkins-server src]# 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>
    <url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>
	</site>
</sites>
[root@jenkins-server src]# systemctl restart jenkins

#到web界面重新登录
在这里插入图片描述


#jenkins官方服务器在遥远的国外,因此安装插件非常慢
在这里插入图片描述


#通过nginx进行rewrite

将安装插件的请求通过清华大学镜像服务器,以实现插件安装加速,就在
Jenkins-server 上下载 nginx,使用 nginx 代理

[root@jenkins-server src]# apt list nginx*
Listing... Done
nginx/bionic-updates,bionic-updates,bionic-security,bionic-security 1.14.0-0ubuntu1.7 all
nginx-common/bionic-updates,bionic-updates,bionic-security,bionic-security 1.14.0-0ubuntu1.7 all
…………
[root@jenkins-server src]# apt install nginx

[root@jenkins-server src]# vim /etc/hosts
……
127.0.0.1            updates.jenkins-ci.org
……

#new line下即是新添加的内容
[root@jenkins-server src]# vim /etc/nginx/sites-enabled/default
 48     location / {
 49         # First attempt to serve request as file, then
 50         # as directory, then fall back to displaying a 404.
 51         try_files $uri $uri/ =404;
 52     }
 53 #new line
 54     location /download/plugins {
 55         proxy_set_header Host mirrors.tuna.tsinghua.edu.cn;
 56         proxy_set_header X-Real-IP $remote_addr;
 57         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 58         rewrite /download/plugins(.*)  /jenkins/plugins/$1 break;
 59         proxy_pass http://mirrors.tuna.tsinghua.edu.cn;
 60     }


[root@jenkins-server src]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@jenkins-server src]# nginx -s reload

[root@jenkins-server src]# systemctl restart jenkins

#重启之后到web界面重新登录
在这里插入图片描述


#插件安装目录

[root@jenkins-server src]# ll /var/lib/jenkins/plugins/|wc -l
149

#接下来创建 jenkins管理员
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


#主页
在这里插入图片描述


#jenkins插件安装与管理
#登录到jenkins管理页面

安装和 gitlab 交互需要的插件
需要安装Gitlab、Gitlab Hook和 Gitlab Authentication

#点击齿轮形状所示的 系统管理,然后找到 插件管理
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


#勾选想要安装的插件,然后直接安装即可
在这里插入图片描述

#安装完成后记得要重启jenkins


#权限管理
以基于角色的权限管理,创建角色和用户,对角色授权,再将用户关联到相应权限的角色
#首先要安装插件
在这里插入图片描述


#安装完成后,点击系统管理,找到 管理用户
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


#更改认证方式为 role-based
#点击系统管理,找到 全局安全配置
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


#点击系统管理,找到 以下
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


#测试新添加的普通用户
#由于权限很低,因此能够看到的内容和能够执行的操作很少
在这里插入图片描述


#配置jenkins邮箱
#登回管理员账号
#点击系统管理,找到 系统配置
在这里插入图片描述


#邮箱需要开启smtp服务
在这里插入图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值