ubuntu22.04安装jenkins并配置

准备

更新系统

linux 复制代码
sudo apt update
sudo apt upgrade

环境准备

jdk

安装

linux 复制代码
sudo apt install openjdk-11-jdk

验证

linux 复制代码
java -version

git

ubuntu配置git

maven

ubuntu配置maven

部署

添加 Jenkins 存储库

导入Jenkins存储库的GPG密钥

复制代码
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -

将Jenkins存储库添加到APT源列表中

复制代码
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'

使APT获取最新的Jenkins软件包

复制代码
sudo apt update

补充

遇到错误

复制代码
E: The repository 'http://pkg.jenkins.io/debian-stable binary/ Release' is not signed.

或者

复制代码
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 3B4FE6ACC0B21F32

导入密钥

复制代码
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5BA31D57EF5975CA

更新apt-get的存储库

复制代码
sudo apt-get -y update

更新一下apt-get本身的版本

复制代码
sudo apt-get -y upgrade

重新update

复制代码
sudo apt-get -y update

安装 Jenkins

复制代码
sudo apt install jenkins

初始化

访问

复制代码
http://ip:8080

管理员密码

复制代码
sudo cat /var/lib/jenkins/secrets/initialAdminPassword

启动和停止 Jenkins 服务

启动 Jenkins 服务:

复制代码
sudo systemctl start jenkins

停止 Jenkins 服务:

复制代码
sudo systemctl stop  jenkins

重启Jenkins 服务:

复制代码
sudo systemctl restart  jenkins

配置

初始化插件

首次或不能确定,安装推荐

语言中文

Manage Jenkins -> Plugins -> Available plugins -> 输入【Locale】选中安装

系统管理 -> 系统配置->locale 输入zh_CN,并勾选选项,点击保存

用户角色配置

安装插件

系统管理 -> 插件管理 -> Available plugins -> Role-based Authorization Strategy

配置插件

系统管理 -> 全局安全配置 -> 授权策略 -> Role-Based Strategy 保存

管理和分配角色

系统管理->Manage and Assign Roles

  • 管理角色 : Manage Roles
  • 分配角色 : Assign Roles

配置maven

系统管理 -> 全局工具配置 -> 新增maven(取消勾选自动安装,可以配置本地) -> 保存

maven构建工具安装

系统管理 -> 插件管理 -> Available plugins -> Maven Integration

远程

安装Publish Over SSH插件

配置远程服务器

系统管理 -> 系统配置 -》 Publish over SSH -> SSH Servers(remote Directory 填写/ 即远程路径)

测试连接

使用

git 构建项目使用

首页->新建任务

输入名称->点击构建一个maven项目 -> 确定

填写描述

配置git地址

配置仓库访问

编译成功

远程部署

配置调整


复制代码
#!/bin/bash
export BUILD_ID=hellow

WORKSPACE=/data/hello
JDK_PATH=/app/jdk/jdk1.8.0_381
JAR_NAME=hellow-0.0.1-SNAPSHOT.jar

PID=`ps -ef | grep ${JAR_NAME} | grep -v grep | grep -v startup | awk '{print \$2}'`
echo $PID;
if [ ! "$PID" ] ;then
     echo "进程不存在"
else
    echo "进程存在,杀死进程PID$PID"
    kill -9 $PID
fi

echo "服务启动开始"
nohup ${JDK_PATH} -jar ${WORKSPACE}/${JAR_NAME} &

sh 运行未配通

相关推荐
虎头金猫4 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
AI职业加油站4 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
此冬歌咏4 天前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
-梅4 天前
linux(8) 软硬链接
linux·运维·服务器
张洛闻Eren4 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
其实防守也摸鱼4 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
布裘4 天前
【银河麒麟】V4桌面图标消失,右击鼠标没反应排查
运维·银河麒麟·桌面环境
需要8264 天前
JVM 内存区域与对象创建:一次 GC 从哪来
java·jvm·spring boot·spring·servlet·tomcat
懂软件的胡子个哥4 天前
微信机器人为什么需要“回复候选”而不是所有 AI 内容直接发送
运维·微信·自动化·wechatapi·个人微信号二次开发
云贝贝贝4 天前
腾讯云 TDSQL(MySQL 版)性能优化与慢查询排障实战 6 招
运维·腾讯云