windows服务器部署jenkins工具(二)

jenkins的大致流程:新增任务->配置任务->构建(打包)项目->部署(发布)

具体如何使用,我这里就不多讲了。这次就给大家讲讲,jenkins安装之后使用过程中存在的一些问题。

1.maven项目如何快速构建?

需要安装一个Maven Integration插件。(Manage Jenkins -> Plugins)

这样新增任务就会多一个构建maven项目的选项。

2.不同的项目需要用不同版本的jdk

Manage Jenkins-> Tools(全局工具配置)找到jdk配置,JAVA_HOME看自己docker启动命令中写的是什么填写过来就行。自动安装取消掉。

3.无法通过GIT拉取代码

Manage Jenkins-> Tools(全局工具配置)找到GIT安装,安装一下即可。下面还有nodejs的安装,有前端部署需求的也根据需要安装一下,就不多介绍了。

4.在哪维护目标服务器信息

Manage Jenkins->System(系统配置)找到SSH Servers,添加即可。

5.打包构建的shell脚本无法使用docker命令?

网上会推荐你去下载带有docker的jenkins版本,我建议是个人构建一个自己的jenkins镜像。

在指定目录下创建Dockerfile文件(内容如下),并在该目录下打开powershell,运行docker build命令:

bash 复制代码
 docker build -t my-jenkins .
bash 复制代码
FROM jenkins/jenkins:lts

USER root

# 设置时区为Asia/Shanghai
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
    echo "Asia/Shanghai" > /etc/timezone

# 安装Docker客户端
RUN apt-get update && \
    apt-get -y install \
        ca-certificates \
        curl \
        gnupg \
        lsb-release && \
    mkdir -p /etc/apt/keyrings && \
    curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg && \
    echo \
        "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
        $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null && \
    apt-get update && \
    apt-get -y install docker-ce-cli

USER jenkins

至此构建一个my-jenkins的镜像,此时只需要将原来的jenkins容器删除,重新运行一下命令

bash 复制代码
docker run -d `
  -p 9090:8080 -p 50000:50000 `
  --name jenkins `
  --restart=always `
  --user root `
  -e TZ=Asia/Shanghai 
  -v D:\cch\environment\jenkins\data:/var/jenkins_home `
  -v D:\cch\environment\java\jdk\linux\java-se-8u44-ri:/usr/lib/jvm/java-se-8u44-ri `
  -v D:\cch\environment\java\jdk\linux\jdk-11.0.0.2:/usr/lib/jvm/jdk-11.0.0.2 `
  -v D:\cch\environment\java\apache-maven-3.6.1:/opt/apache-maven-3.6.1 `
  -v /var/run/docker.sock:/var/run/docker.sock `
  -v D:\cch\environment\java\repository:/var/jenkins_home/.m2/repository `
  my-jenkins

上一篇文章中关于如下命令没有讲是什么,其实就是为了在jenkins中能够使用docker命令。

bash 复制代码
-v /var/run/docker.sock:/var/run/docker.sock `

打开docker desktop->settings->docker engine

配置中添加

bash 复制代码
"hosts": [
    "tcp://0.0.0.0:2375"
  ]

然后重启docker desktop。如果重启失败,控制台先执行如下命令,然后再重启docker desktop

bash 复制代码
wsl --shutdown
相关推荐
yt004yt31 分钟前
### 越华环保集团|绿岛 VOCs 集中治理,管网系统安全设计工程实战分享
大数据·运维
yt004yt1 小时前
越华环保集团|绿岛 VOCs 集中治理,管网系统安全设计工程实战分享
大数据·运维
晚安日记wanna1 小时前
压测 TPS 卡在 800CPU 只跑四成六步定位法
运维·面试·测试
吴声子夜歌2 小时前
Shell编程实例——bash入门
linux·运维·shell
爱和冰阔落3 小时前
【Linux】条件变量为什么必须配合互斥锁:从 pthread_cond_wait 到阻塞队列
linux·运维·c++·缓存·中间件·安卓
ynchyong3 小时前
Linux nohup 后台服务合并标准错误输出到一个文件
java·linux·运维
牛油果子哥q3 小时前
LLM 服务网关设计:流量分发、鉴权、限流、多模型路由、负载均衡、接口版本管理(C++ 网关落地)
运维·负载均衡
傲世仙尊3 小时前
从磁盘硬件到Ext文件系统-Linux磁盘级文件系统学习笔记
linux·运维·服务器·开发语言·c++
蓝速科技3 小时前
信创终端 POC 测试实战与选型避坑指南丨蓝速科技
运维·数据库·人工智能·科技·自然语言处理
曦夜日长3 小时前
Linux系统篇,进程概念(三):进程状态详解、僵尸进程与孤儿进程的深度解析、Slab机制的了解
linux·运维·服务器