Docker容器使用Jenkins实现自动化部署

拉取Jenkins镜像

查找Jenkins版本,并从docker上拉取Jenkins镜像

docker search jenkins
docker pull jenkins/jenkins

查看docker容器镜像内是否拉取成功 

docker images

我这边是之前已经从docker上拉取过 

Docker运行Jenkins

我们直接docker run并进行数据挂载,不懂得root权限和端口暴露的可以去Docker官网了解一下,下面的maven和git的环境配置可以参考下面一篇文章

(1条消息) docker安装jenkins并且通过jenkins部署项目(超详细and靠谱)_docker jenkins_Java大憨的博客-CSDN博客

docker run -d -uroot -p 9095:8080 -p 50000:50000 --name jenkins -v /home/jenkins_home:/var/jenkins_home -v  /usr/local/maven/apache-maven-3.8.5:/usr/local/maven   -v /usr/local/git/bin/git:/usr/local/git -v /home/www/lib4univ:/home/www/lib4univ   -v /etc/localtime:/etc/localtime jenkins/jenkins

 之后我们就可以直接在9095端口访问到Jenkins,访问不到的可以看下docker container的状态是否已经启动了容器

Jenkins配置

下面这篇博客写的非常详细

Docker容器中运行Jenkins实现自动化部署_Horsleyli的博客-CSDN博客

Jenkins的配置以及jdk、maven、git都在这

jdk和maven、git可以直接使用我们一开始下载配置的路径

我这边使用的是用户名密码进行Gitee的仓库配置

自动化部署shell脚本,这里写个简单的pull操作,自动化部署可以在这里使用shell脚本进行完成

 我们使用Web hook进行仓库的代码拉取

具体的操作可以参考这篇

 码云 Gitee + Jenkins 配置教程_gitee api url jenkins_Andy_Li_的博客-CSDN博客

按照这几篇博客进行配置就行,下面要讲的是碰到的问题:

自动化部署构建的过程中可能会碰到用户名密码错误的情况,我们来探讨下这个问题

Jenkins拉取Gitee出现账号密码错误

自动化部署构建的过程中可能会碰到用户名密码错误的情况,第一时间的想法可能是docker网络使用网桥配置的问题,但经过测试并没出现问题。

我们使用Docker容器使用Jenkins实现自动化部署的时候,将Docker容器之中的数据进行实际路径的数据挂载,如下面我们刚才docker run的代码里面挂载的一样把Docker容器里面/home/www/lib4univ的路径挂载到真实的/home/www/lib4univ路径下

/home/www/lib4univ:/home/www/lib4univ

因此在出现用户名密码错误的第一时间我们会想到直接在真实的路径下面执行git操作,比如进行git config去配置用户名密码和邮箱,但这样的做法其实是无效的。

git config --list
git config --global user.name "ikkkp"

我们要先进入docker运行的Jenkins容器,进入容器里面的 /home/www/lib4univ路径进行git配置,至于docker的权限问题可以直接使用root权限进行操作

docker exec <container-id> cat /etc/passwd | grep jenkins

进入容器里面我们在对.git文件进行更改就行 

不少问题现在都可以通过chatgpt进行解答了,这是一个强大的工具,包括进行错误日志分析,代码示例,以及具体的操作gpt都可以给你一个实例。

猜你喜欢

转载自blog.csdn.net/ikkkp/article/details/130226770