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
相关推荐
Evenurs11 分钟前
【linux】mount命令中,data=writeback参数详细介绍
linux·运维·服务器
默默无闻的白夜1 小时前
【Docker】存储卷
运维·docker·容器
佳腾_1 小时前
【运维_日常报错解决方案_docker系列】一、docker系统不起来
运维·docker·容器
奋斗者1号1 小时前
OpenSSL 签名验证详解:PKCS7* p7、cafile 与 RSA 验签实现
运维·服务器
搞不懂语言的程序员1 小时前
如何通过ES实现SQL风格的查询?
sql·elasticsearch·jenkins
fictionist2 小时前
Linux 进阶命令篇
linux·运维·服务器·开发语言·学习
可以吧可以吧2 小时前
Filebeat es 同步服务器日志到es
服务器·elasticsearch·jenkins
遥遥领先zzl2 小时前
实时数仓flick+clickhouse启动命令
运维·服务器·数据库
猴哥聊项目管理2 小时前
什么是DevOps的核心目标?它如何解决传统开发与运维之间的冲突?
运维·开源·项目管理·产品经理·devops·项目经理·软件
din4e2 小时前
【DevOps】docker 通过 sbom 获取组件版本和漏洞编号
运维·docker·devops