这篇笔记是Jenkins入门教程使用Maven构建Java应用程序的一个补充说明,因为我照着文档操作的过程中遇到不少问题,遂一一做个笔记。
我的主机是Windows 11,安装的docker是Docker Desktop 4.18.0。
第一点,在Windows里执行docker命令创建Jenkins container的时候,原文的命令如下。在我的环境下,%HOMEPATH%是\Users\jinga,直接报找不到路径的错。HOMEPATH的正确路径是C:\Users\jinga 然后为了方便,加上--name jenkins来指定container名字。
docker run ^
--rm ^
-u root ^
-p 8080:8080 ^
-v jenkins-data:/var/jenkins_home ^
-v /var/run/docker.sock:/var/run/docker.sock ^
-v "%HOMEPATH%":/home ^
jenkinsci/blueocean
更改之后的命令如下。这样jenkins就运行在container中了。
docker run ^
--rm ^
-u root ^
-p 8080:8080 ^
-v jenkins-data:/var/jenkins_home ^
-v /var/run/docker.sock:/var/run/docker.sock ^
-v C:\Users\jinga:/home ^
--name jenkins ^
jenkinsci/blueocean
第二点,jenkins运行起来后,版本是2.361.4,版本比较低,我看了一下,目前最新版已经到2.399了。这导致的第一个问题就是,好些plugin因为版本低要升级。比方说,升级mailer。具体步骤如下。
第三点,因为jenkins的版本较低,所以我选择升级jenkins。我采取的步骤如下,jenkins是我的container名字。
这样就把jenkins升级了,登录http://localhost:8080/确定已是升级后的版本。
第四点,升级完jenkins之后,要重新做一个image,要不然,下次启动jenkins container还用jenkinsci/blueocean这个base image,前面的升级就白做了。命令如下(jenkins是我的container名字)。
docker commit jenkins jenkins2.387.2:latest 从container保存image
docker images -a 可以显示所有images
这样操作之后,启动命令里面就要指定新的image名字jenkins2.387.2了,所以启动命令变成如下。
docker run ^
--rm ^
-u root ^
-p 8080:8080 ^
-v jenkins-data:/var/jenkins_home ^
-v /var/run/docker.sock:/var/run/docker.sock ^
-v C:\Users\jinga:/home ^
--name jenkins ^
jenkins2.387.2
第五点,在“在Jenkins中创建你的流水线项目”一节中,配置Repository URL 的时候,我的local path不管怎么写都报无法识别,而且是给出的提示信息当中,全是git远程路径,所以我设置为我clone过来后在我的账户下的simple-java-maven-app的git路径,如下。https://github.com/jiabinliao/simple-java-maven-app.git
第六点,需要安装docker pipeline这个plugin,否则运行pipeline的时候会报如下错误。安装之后重启container即可。
workflowscript: 3:Invalid agent type "docker" specified. Must be one of [any, label, none].
以上,仅做笔记以供参考。
另外,我好奇image存在哪里,找了一下,确定是存在C:\Users\jinga\AppData\Local\Docker\wsl\data\ext4.vhdx 4
可能因为是在Windows下的缘故,docker还是虚拟出来一块硬盘来存放所有data。这点其实跟VM有点像了。