惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
CXSECURITY Database RSS Feed - CXSecurity.com
P
Proofpoint News Feed
Attack and Defense Labs
Attack and Defense Labs
Security Archives - TechRepublic
Security Archives - TechRepublic
Engineering at Meta
Engineering at Meta
WordPress大学
WordPress大学
H
Hackread – Cybersecurity News, Data Breaches, AI and More
MyScale Blog
MyScale Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
F
Full Disclosure
云风的 BLOG
云风的 BLOG
爱范儿
爱范儿
V2EX - 技术
V2EX - 技术
B
Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
M
MIT News - Artificial intelligence
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
W
WeLiveSecurity
Stack Overflow Blog
Stack Overflow Blog
TaoSecurity Blog
TaoSecurity Blog
T
Threatpost
小众软件
小众软件
T
The Blog of Author Tim Ferriss
Google Online Security Blog
Google Online Security Blog
MongoDB | Blog
MongoDB | Blog
T
Tenable Blog
P
Privacy International News Feed
S
Security @ Cisco Blogs
H
Heimdal Security Blog
大猫的无限游戏
大猫的无限游戏
B
Blog RSS Feed
H
Help Net Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
C
Cisco Blogs
酷 壳 – CoolShell
酷 壳 – CoolShell
P
Proofpoint News Feed
D
Darknet – Hacking Tools, Hacker News & Cyber Security
有赞技术团队
有赞技术团队
Application and Cybersecurity Blog
Application and Cybersecurity Blog
O
OpenAI News
Security Latest
Security Latest
S
Securelist
Cyberwarzone
Cyberwarzone
D
Docker
S
Schneier on Security
V
Vulnerabilities – Threatpost
The GitHub Blog
The GitHub Blog
P
Privacy & Cybersecurity Law Blog
T
Tailwind CSS Blog
Apple Machine Learning Research
Apple Machine Learning Research

Yee's Blog

腾讯云/轻量云 安装ArchLinux的个人记录 记录我的联想M720Q Arch Sway窗口管理器的安装和配置过程 腾讯课堂、钉钉在线网课视频直播回放下载离线播放 Ceph块设备对RBD块设备操作LVM创建PV时报错 Ceph映射RBD块设备 2020年9月26日前端部门Vue考核 2020年9月26日后端部门Python考核 Nginx反向代理下载传输超过1G大文件时断开问题 Windows Server 2019 Datacenter M720q 安装记录 Ceph块设备基础及快照、克隆操作 从Ceph集群中删除OSD节点 Centos8配置 chrony NTP服务端及客户端 搭建Ceph集群 Ceph硬件准备 OSD与Pool池的常见操作及管理 Ceph用户管理 MacOS睡眠管理——让你的Mac睡的更香 初中古诗文必背篇目 Ansible 技巧之场 Ansible 包含和导入文件 Ansible 学习文档 Ansible 主机模式 Ansible 角色 Ansible 调整连接数 Splunk数据搜索和报表 Ansible 常用模块 Ansible 变量和事实 Ansible 任务控制 Ansible Playbook Ansible 基础概念 42Team-Flask框架-HTTP协议快速了解 42Team-Flask框架-路由和视图 42Team-Flask框架-请求与响应 42Team-Flask框架 42Team-Flask框架-Flask介绍 42Team-Flask框架-使用Pycharm来构建一个全新的Flask项目 How to install RHEL8(Centos) on Dell R710/R610 server Centos8安装Docker报错解决方案 Centos8安装Docker后容器内无法访问网络 Docker或Podman容器内无法解析DNS问题多种解决方案 使用NetworkManager来管理树莓派Ubuntu系统网络以及个人的体验优化 Linux 存储设备的挂载及识别 Firewalld 防火墙常用指令教程-常用规则(禁止Ping | 放行端口) Linux 查找系统中的文件 Linux 守护进程和控制服务 Linux SSH远程访问 42Team小组_Linux基础培训课件 如何在AmazeUI中当改变select标签后触发Vue方法的问题 使用Docker部署安装WordPress博客平台 在Raspberry树莓派中搭建NFS存储服务器 在 树莓派 Linux 中搭建匿名 danted socks5 代理服务器 HTTP与HTTPS区别随笔 Bash/Shell学习笔记
Jenkins Linux安装
本文作者: YeeFire · 2021-02-06 · via Yee's Blog

在官网下载Jenkins

下载当前最新的稳定版Jenkins保存到指定目录。

安装包下载

wget -O ./jenkins.war http://mirrors.jenkins.io/war-stable/latest/jenkins.war

配置Jenkins的JAVA运行环境

Kenkins需要Java虚拟机才可以运行,在运行Jenkins前先配置JAVA虚拟机环境。

下载 Java JRE Linux X64

Java JRE安装包下载

wget -O ./jre-8u281-linux-x64.tar https://javadl.oracle.com/webapps/download/AutoDL?BundleId=244058_89d678f2be164786b292527658ca1605

安装Java JRE

将下载好的Java JRE安装包移动你要安装的目录里,我想要安装在/usr/java目录下。

(ROOT)创建安装目录sudo mkdir -p /usr/java

(ROOT)移动安装包sudo mv ./jre-8u281-linux-x64.tar /usr/java

(ROOT)解压 sudo tar -zxvf /usr/java/jre-8u281-linux-x64.tar

查看/usr/java目录你会发现除了安装包外新存在一个名字与jre1.8.0_281差不多相同的目录(这取决于你下载的JavaJRE版本)

那么现在你的Java JRE安装在了/usr/java/jre1.8.0_281内,现在可以将/usr/java/目录下的Java JRE安装包删除掉以节省空间

接下来配置环境变量,请根据自己Linux发行版的规则变通的配置/etc/profile

/etc/profile文件开始处填写:

export JAVA_HOME=/usr/java/jre1.8.0_281/
export JRE_HOME=/usr/java/jre1.8.0_281/
export CLASS_PATH=.:$JAVA_HOME/lib/rt.jar:$JRE_HOME/lib
export JAVA_PATH=$JAVA_HOME/bin:$JRE_HOME/bin

之后找到PATH,在PATH末尾填写上${JAVA_PATH}。请根据自己的实际情况填写,否则可能会覆盖之前的环境变量哦!

我的环境变量配置如下:

export JAVA_HOME=/usr/java/jre1.8.0_281/
export JRE_HOME=/usr/java/jre1.8.0_281/
export CLASS_PATH=.:$JAVA_HOME/lib/rt.jar:$JRE_HOME/lib
export JAVA_PATH=$JAVA_HOME/bin:$JRE_HOME/bin

if [ "`id -u`" -eq 0 ]; then
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${JAVA_PATH}"
else
PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:${JAVA_PATH}"
fi
export PATH

激活环境变量 source /etc/profile

查看配置是否成功则执行java -version,出现版本信息则配置成功:

java version "1.8.0_281"
Java(TM) SE Runtime Environment (build 1.8.0_281-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.281-b09, mixed mode)

初始化Jenkins

准备工作已经结束,接下来开始进行初始化Jenkins!

回到下载Jenkins的目录,执行java -jar jenkins.war --httpPort=8080命令。这里的8080是Web界面的端口号,你可以修改成自己需要的端口号,注意防火墙要放行该TCP端口。

首次运行Jenkins,首次运行Jenkins时会在当前用户家目录下生成一些配置文件~/.jenkins

访问你的域名或IP地址加上端口号后,你可以看到这样的界面。

01-first-interface-2021-02-06-14-31-08

此时Jenkins会下载一些资源,需要等待5分钟左右。如果时间过长,结束掉现在运行的Jenkins,先需要更改国内下载源来加快速度:

cd ~/.jenkins
vim hudson.model.UpdateCenter.xml




<url>https://updates.jenkins.io/update-center.json</url>


<url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>

之后回到Jenkins软件包的目录下重新执行java -jar jenkins.war --httpPort=8080

稍后页面会让你输入管理员密码解锁安装Jenkins。管理员密码可以在运行Jenkins的终端上找到,也可以根据页面提示的文件中找到。

Jenkins安装解锁密码

输入密码后下一步会安装基本常用插件,选择左侧的选项开始安装即可。

Jenkins安装常用插件

此时需要一段时间等待……

如果出现插件安装失败,不用担心,很可能是Jenkins版本不支持当前下载的最新插件,稍后进入到Jenkins管理页面更新Jenkins版本即可。

Jenkins安装插件部分插件安装失败

接下来根据你的个人需求配置管理员用户名密码等设置。

配置开机自动启动 systemd 守护进程

以下内容使用于以war包形式部署Jenkins的方式来配置systemd守护进程服务,其它方式安装的Jenkins需要你自己变通。

以下内容参考linux(centos8):用systemctl管理war包形式的jenkins(java 14 / jenkins 2.257)这篇文章。

创建管理脚本

vim jenkins-control.sh创建新文本文件,将以下内容写入到文件中。

#!/bin/bash


source /etc/profile

pid=`ps -ef | grep jenkins.war | grep -v 'grep'| awk '{print $2}'| wc -l`
if [ "$1" = "start" ];then
if [ $pid -gt 0 ];then
echo 'jenkins is running...'
else
nohup $JAVA_HOME/bin/java -jar /home/hackinsss/Jenkins/jenkins.war --enable-future-java --httpPort=8088 2>&1 &
fi
elif [ "$1" = "stop" ];then
exec ps -ef | grep jenkins | grep -v grep | awk '{print $2}'| xargs kill -9
echo 'jenkins is stop..'
else
echo "Please input like this:"./jenkins.sh start" or "./jenkins stop""
fi

为脚本文件赋予执行权限 chmod u+x jenkins-control.sh

启动Jenkins ./jenkins-control.sh start

关闭Jenkins ./jenkins-control.sh stop

上面两个操作没有问题,能正确开启或关闭Jenkins的话则脚本运行没有问题,开始编辑systemd服务文件。

创建systemd服务文件

sudo vim /etc/systemd/system/jenkins.service

修改运行Jenkins的用户和脚本路径地址为你自己的。不推荐使用root权限运行Jenkins

[Unit]
Description=Jenkins
After=network.target

[Service]
Type=forking
User=使用该用户运行Jenkins
Group=使用该用户组运行Jenkins
ExecStart=/home/hackinsss/Jenkins/jenkins-control.sh start
ExecReload=
ExecStop=/home/hackinsss/Jenkins/jenkins-control.sh stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

sudo systemctl daemon-reload

设置开机自动运行Jenkins sudo systemctl enable jenkins

运行Jenkins sudo systemctl start jenkins

停止运行Jenkins sudo systemctl start jenkins

安装Jenkins流程记录到此结束。