运维|devops|jenkins部署安装

运维|devops|jenkins部署安装

📑 目录

  1. 运维|devops|jenkins部署安装

1.1 基于docker安装

1.1.1 创建目录和权限开通

1.1.2 docker run 启动

1.1.3 执行和docker进程如下

1.1.4 网页访问和密码重置

1.2 配置maven

1.2.1 下载

1.2.2 配置环境

1.2.3 Jenkins挂载maven

1.3 配置jdk

1.4 配置git

1.5 构建访问远程服务

1.6 构建发布应用

1.6.1 创建任务

基于 jenkins Version 2.541.3 实操案例

基于docker安装

docker 版本(Docker version 27.3.1, build ce12230)

创建目录和权限开通

bash

复制代码
mkdir -p /data/jenkins
chmod 777 /data/jenkins

docker run 启动

bash

复制代码
docker run -d \
  --name jenkins \
  --restart always \
  -p 8080:8080 \
  -p 50000:50000 \
  -v /data/jenkins:/var/jenkins_home \
  -v /etc/localtime:/etc/localtime:ro \
  jenkins/jenkins:lts-jdk17

执行和docker进程如下

网页访问和密码重置

  • 查询密码

bash

复制代码
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
  • 安装社区推荐插件
  • 配置管理员账号
  • 主页

配置maven

  • 宿主机安装Maven(挂载进容器适合统一管理版本)

下载

bash

复制代码
wget https://archive.apache.org/dist/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.tar.gz
tar -zxvf apache-maven-3.9.6-bin.tar.gz

配置环境

bash

复制代码
cat > /etc/profile.d/maven.sh <<'EOF'
export M2_HOME=/usr/local/apache-maven-3.9.6
export PATH=$PATH:$M2_HOME/bin
EOF
source /etc/profile
# 验证
mvn -v

Jenkins挂载maven

无法直接给正在运行的容器新增挂载目录,只能先容器里面删除,只要持久卷 /data/jenkins 不删除,你的 Jenkins 配置、任务全部保留,不会丢失

  • 先删除容器

bash

复制代码
docker stop jenkins
docker rm jenkins
  • 挂载maven容器配置

text

复制代码
docker run -d \
  --name jenkins \
  --restart always \
  -p 8080:8080 \
  -p 50000:50000 \
  -v /data/jenkins:/var/jenkins_home \
  -v /etc/localtime:/etc/localtime:ro \
  -v /usr/local/apache-maven-3.9.6:/usr/local/maven \
  -v /var/run/docker.sock:/var/run/docker.sock \
  jenkins/jenkins:lts-jdk17
  • 全局配置
  • 验证是否挂载成功

bash

复制代码
docker exec jenkins /usr/local/maven/bin/mvn -v

配置jdk

  • 一样重复上面移除容器,重启配置

bash

复制代码
docker run -d \
  --name jenkins \
  --restart always \
  -p 8080:8080 \
  -p 50000:50000 \
  -v /data/jenkins:/var/jenkins_home \
  -v /etc/localtime:/etc/localtime:ro \
  -v /usr/local/apache-maven-3.9.6:/usr/local/maven \
  -v /usr/local/jdk-21.0.11:/usr/local/jdk21 \
  -v /data/maven_repo:/root/.m2/repository \
  -v /var/run/docker.sock:/var/run/docker.sock \
  jenkins/jenkins:lts-jdk17 
  • 调整配置
  • 验证是否挂载成功

bash

复制代码
docker exec jenkins /usr/local/jdk21/bin/java -version

配置git

  • 直接将本地ssh里面私钥填入(Treat username as secret) 不要勾选
  • 安装git插件
  • 关闭信任拦截
  • 进入任务源码拉取
  • 源码拉取成功

构建访问远程服务

  • Publish over SSH

如果没有到插件下面进行安装

  • 按照页面配置SSH

构建发布应用

创建任务

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