Jenkins install
https://jenkins.io/zh/doc/book/installing/
为了简单使用,同时也为了保持与保持与linux下的一致性。我在自己的win10机器上使用了Docker安装Jenkins.
docker run ^
-u root ^
--rm ^
-d ^
-p 8080:8080 ^
-p 50000:50000 ^
-v jenkins-data:/var/jenkins_home ^
-v /var/run/docker.sock:/var/run/docker.sock ^
--name jenkins-blueocean ^
jenkinsci/blueocean
一个命令 Jenkins就安装好了。
下面就要开始初始配置了。
https://jenkins.io/zh/doc/book/installing/#setup-wizard
访问 http://localhost:8080
在页面中输入日志中输出的密码。
如果是 docker 的版本可以使用 docker logs
命令来看。
解锁后,系统会要求创建一个系统管理员账号。 按照指示创建好后。 Jekins的安装就完成了。
创建第一条Pipeline
https://jenkins.io/zh/doc/pipeline/tour/hello-world/
这里整个步骤很简单,难点在于在添加 pipeline 的时候,要选择对应的源代码管理仓库, 这里要做好对应的配置。 这里我选用 github .
在Github的配置中会要求写入 Credentials , 这里要在Github中创建一个 Personal access token。
Setting --> Developer Setting
Jenkinsfile 实战
https://jenkins.io/zh/doc/pipeline/tour/hello-world/
在github对应的项目中创建 Jenkinsfile , commit 后可以使用 Jenkins 关联后运行。
用pyinstall 构建 python 应用
https://jenkins.io/zh/doc/tutorials/build-a-python-app-with-pyinstaller/
这里要求使用如下的命令运行 Jenkins 镜像。
docker run \
--rm \
-u root \
-p 8080:8080 \
-v jenkins-data:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
-v "$HOME":/home \
jenkinsci/blueocean
这里与我们以前运行的 Jenkins 不同的是少了 -v "$HOME":/home
这个参数。
动态在已经运行的容器上加载volume比较复杂,大家可以自行搜索。 这边直接停下容器重新用新的参数启动。
docker run --rm -d -u root -p 8080:8080 -p 50000:50000 -v jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v C:\N-20HEPF167W1B-Data\bghuang:/home --name jenkins-blueocean jenkinsci/blueocean
这里注意一个问题就是我遇到上面的命令运行成功没有任何错误,但实际上目录没有链接上。 登到容器中你会发现/home目录是空的。
经过搜索后我发现这个问题是由于我改过系统用户的密码造成。
相关文章:
https://blog.csdn.net/ap10062kai/article/details/79232582
重置后登进容器我们就可以看到目录正常attech了。
按照帮助文档上的步骤执行,Test cases的结果可以从Blue Ocean的界面中的 tests tab中看到, 而生成的可执行文件在 Artifacts tab中可以看到。
这个case中用了 python 的 unittest. 具体使用方法可以参考如下链接。
https://docs.pytest.org/en/latest/unittest.html
pytest supports running Python unittest-based tests out of the box. It’s meant for leveraging existing unittest-based test suites to use pytest as a test runner and also allow to incrementally adapt the test suite to take full advantage of pytest’s features.
https://blog.csdn.net/yyang3121/article/details/80624168
https://blog.csdn.net/u013378642/article/details/82386226
https://blog.csdn.net/xiaoquantouer/article/details/75089200
https://www.liaoxuefeng.com/wiki/1016959663602400/1017604210683936
https://www.cnblogs.com/xiaoxiaolvdou/p/9503090.html
https://www.jianshu.com/p/932a4d9f78f8