Docker+jenkins+python3环境(超详细)
2021/7/13 11:06:22
本文主要是介绍Docker+jenkins+python3环境(超详细),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
前言:
自动化写好后需要在服务器上每日定时运行遇到,这样的一个问题,Jenkins容器是在docker中安装的 ,然后从git上拉取代码 发现代码在jenkins容器的目录当中,运行的时候提示没有安装python环境还第三方库。
解决方法有3种:
第一种:启动jenkins容器时 将容器的目录挂载到宿主机目录上去执行(方法不能实现)Pass
第二种:在jenkins上创建本地节点,将代码拉取到本地 然后去运行本地项目(在本机上使用比较方便,但是局限性比较小)
第三种:重新封装jenkins镜像,在jenkins镜像中安装python3的环境 在容器中执行项目(步骤麻烦,但后续永久使用)
第一种方法和第二种方法前提都需要在服务器中安装docker和jenkins镜像
一、安装docker
安装docker https://www.runoob.com/docker/docker-tutorial.html
二、安装jenkisn镜像
1.查找docker上的镜像 docker search jenkins 2.下载自己所需要的镜像 docker pull jenkinsci/blueocean 3.查看是否下载成功 docker images 4.启动下载的镜像 docker run -d -p 10240:8080 -p 10241:50000 -v /jenkins_autotest/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai --name jenkint_test jenkinsci/blueocean #说明:docker run 运行 -d:后台运行容器 -p:指定容器的端口映射 -p 10240:8080 表示将容器的8080端口映射到宿主机的10240端口上 ,映射多个端口使用 -p 8082:8080 -p 8083:8081 -v:挂载宿主机目录和 docker容器中的目录 /Users/songpeilun/jenkins_home 本地宿主机绝对目录;/var/jenkins_home 容器目录(将容器目录挂载到本地) -v:/etc/localtime:/etc/localtime 本地时间和容器时间同步 -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai 设置容器时间为上海时间(不然容器时间和本地时间相差8小时) --name jenkint_test 设置容器的名称 jenkinsci/blueocean 选择镜像名称启动容器(默认镜像后面会加latest 如果拉取自己创建的镜像后面要加自己的版本号 jenkinsci/blueocean:版本号TAG )
⚠️ 容器目录挂载本地目录时 一定要给本地文件夹赋予权限 chmod 777 jenkins_home
输入docker images 查看jenkins镜像是否安装成功
docker images
查看容器是否运行
docker ps
可以看出docker中已经有运行的容器jenkins
这样就说明 已经安装好jenkins 现在就可以启动jenkins了
三、启动jenkins
浏览器输入 服务器的ip+端口号 http://47.99.98.250:10240/ 如果无法访问请关闭系统防火墙
查看密码的方式有2种,第一种是在服务器的容器中查看,第二种是在映射本地查看(前提是你映射了本地目录)
容器中查看密码:cat /var/jenkins_home/secrets/initialAdminPassword 映射本地目录:cat /Users/songpeilun/jenkins_home/secrets/initialAdminPassword #/Users/songpeilun/jenkins_home 本地映射目录地址
好了,到这里就已经安装好jenkins了
#说一下 容器操作方法 1.进入容器 docker exec -itu root 容器id /bin/sh 2.根据容器id停止运行的容器 docker stop 容器id 5.启动停止的容器 docker start 容器id 6.删除容器(只能删除停用的容器) docker rm 容器id 7.根据关键字查找容器 docker ps -a |grep jenkins
三、方法2:新建本地节点
说一下方法2的具体逻辑,主要是新建jenkins的本地节点 利用新的节点将git上的代码拉取到本地(宿主机)上去执行代码
该方法主要适用于 本地已经有一套python3的一套环境,可以直接运行自动化 利用本地持续集成实现每日自动化报告(缺点:因为利用的是本地节点 利用宿主机地址当作ip 所以每次都需要开启电脑和jenkins地址 且外网不能访问 局限性小)
第一步:在jenkins当中安装SSH Agent插件
安装 ssh Agent插件 系统设置—插件管理—可选插件 然后输入ssh agent 搜索
第二步新增节点
系统设置—节点管理—新建节点(节点名称不能重复)
说明:
节点名称:名称尽量用英文和字符不要用汉字(创建项目的时候选择节点会有警告!)
节点描述:可填写可不填写
执行器数量:节点同时运行的数量
远程工作目录:本机的工作目录(/Users/songpeilun/jenkins)这需要有root权限的用户对此文件所有权限
标签:可填写可不填写
用法:尽可能对使用这个节点
启动方式:Launch agents via SSH
主机:本机的网络ip地址(网络-网络设置-IP)
Credentials:选择已添加的本机账号密码
Host Key Verification Strategy:Non verifying Veriflication Strategy
可用性:尽量保持代理在线
节点属性--git:git的安装路径
然后启动节点 下面就表示启动成功,然后查看本地宿主机 目录文件夹夹是否有节点的文件
三、方法3:容器中安装python3环境
说一下方法3的具体逻辑,主要是在容器中运行代码,git将代码默认拉取到容器当中 不需要映射直接在容器中执行代码(好处:不占用服务器的资源大小,随时启动;不需要本地启动服务 直接利用服务器地址就行 坏处:安装麻烦一点
这篇关于Docker+jenkins+python3环境(超详细)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-20Docker部署资料:新手入门教程
- 2024-12-19Docker部署实战:新手入门教程
- 2024-12-19Docker部署教程:新手入门详解
- 2024-12-09云原生周刊:在Docker上部署大语言模型
- 2024-12-05Docker教程:新手快速入门指南
- 2024-12-05Docker项目实战:新手教程与案例解析
- 2024-12-04Docker入门教程:快速掌握基础操作
- 2024-12-04Docker入门教程:轻松搭建你的第一个容器化应用
- 2024-12-04Docker-Compose 入门教程:全面解析基础命令与应用场景
- 2024-12-04Docker入门:新手必读的简单教程