运维|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

构建发布应用

创建任务

相关推荐
镜子AI6 小时前
镜子AI 技术复盘:三条自动化链路上的“停止条件“设计
运维·人工智能·自动化
tianyuanwo7 小时前
NetBox 数据库详解:当“关系型数据库”被装进一个网络运维的领域模型里
运维·数据库·netbox
知已难寻9 小时前
03 · OpenStack的计算管理 Nova
运维·服务器·开发语言·云原生·云计算·openstack·开源软件
huainingning9 小时前
Windows syslog日志服务器搭建与模拟器对接
运维·服务器·智能路由器
say_fall9 小时前
【Linux系统编程】Ext 文件系统:磁盘与存储、文件与目录、现代计算机究竟如何寻找文件
linux·运维·服务器·数据库·c++
wacsii10 小时前
【Linux进程(一)】Linux 进程初探:操作系统如何管理进程?fork() 为什么返回两次?
linux·运维·服务器
相思难忘成疾11 小时前
从零搭建 Kubernetes 1.30 集群:kubeadm 部署一主多从实战(RHEL 9.3 + Docker + flannel)
linux·运维·kubernetes
PellyKoo11 小时前
【docker】cifs卷改smb密码后容器起不来的解决方法
运维·docker·容器
云飞云共享云桌面11 小时前
1台SolidWorks服务器如何承载10个设计并发?
运维·服务器·网络·3d·制造