20230308--Jenkins+Gogs自动远程Docker情况摆设django项目

程序员 2024-10-4 11:31:49 50 0 来自 中国
1.Jenkins安装或确认必要插件

jenkins安装或确认必要插件gitlab、Publish Over SSH。
Dashboard--Manage Jenkins--Plugin Manager

2.Publish Over SSH设置

jenkins设置SSH毗连django服务摆设的对象服务器
Dashboard--Manage Jenkins--Configure System,找到 Publish over SSH中SSH Server。输入目标服务器IP、登任命户、登任命户暗码等,末了Test Configuration

2.png 3.Jenkins中创建Job

Dashboard--New Item--输入Item name--选择「构建一个多设置项目」--点击OK
设置Job
Source Code Management :Configure--General--Source Code Management--Git--输入Repository URL--选择登录gogs的用户Credentials--选择Branch----Save;


      Build Triggers:选择Trigger builds remotely--Authentication Token;选择Build when a change is pushed to Gogs 4.png       Configuration Matrix:选择Agents--Label--Individual nodes--built-in.      Build Environment :选择Send files or execute commands over SSH before the build starts--设置SSH Server、Transfers注意docker build image大概耗时较长,默认该过程限时120S,必要Advanced选项中延伸timeout时间。
注意Transfers Set Source files、Remote directory、Exec command,其中Exec Command中项目实验sh脚本参考如下:
# 由于向Docker容器中拷贝文件会影响递归布局,以是必要将项目目次先压缩cd /root/tar -czvf local_cmdb.tar.gz local_cmdbecho `pwd`docker rm -f  local_cmdbcd /root/local_cmdbmv -f /root/local_cmdb.tar.gz ./# 创建Docker容器镜像docker build -t local_cmdb:v1 -f Dockerfile .#启动Django项目docker run -it -d --name local_cmdb -p 80:80 local_cmdb:v14.gogs设置web钩子

选择我的堆栈--堆栈设置--管理Web钩子--添加Web钩子--选择Gogs--填写推送所在、选择数据格式、密钥文本可免、设置渴望触发Web钩子的变乱、选择激活--点击添加Web钩子。参考20230129-Jenkins+Gogs自动打包项目


5.测试

开发情况提交接码
下载项目源码
# git clone http://172.26.37.127:3000/luorf/CMDB3.git# cd CMDB3编写制作Django项目镜像Dockerfile文件
# vi DockerfileFROM almalinux       #选择almalinux为根本镜像MAINTAINER luorf     #作者RUN yum install -y python39 gcc python39-devel mysql-devel && yum clean all && rm -rf /var/cache/yum/*     #yum安装python等RUN ln -sf /usr/bin/python3.9 /usr/bin/python && ln -sf /usr/bin/pip3.9 /usr/bin/pip                  #设置python情况ADD local_cmdb.tar.gz /root/          #提交项目包RUN pip install uwsgi -i https://pypi.tuna.tsinghua.edu.cn/simple             #安装uwsgiRUN pip install -r /root/local_cmdb/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple      #安装项目必要的python组件EXPOSE 80                #袒露80端口ENTRYPOINT python /root/local_cmdb/manage.py runserver 0.0.0.0:80      #启动项目提交修改
# git add .# git commit -m "django"# git push origin mastergogs自动推送确认:

jenkins脚本实验确认:

远程Docker服务器镜像制作乐成,容器启动正常,django web访问及使用正常
# docker image ls |grep local_cmdblocal_cmdb                              v1        e8ed8e500b50   25 minutes ago   568MB# docker ps |grep local_cmdb8ccc5bc58bbc   local_cmdb:v1                     "/bin/sh -c 'python 鈥   26 minutes ago   Up 26 minutes         0.0.0.0:80->80/tcp, :::80->80/tcp   local_cmdb# curl -I http://172.26.37.126/admin 10.png 此仅仅是实现Django项目标测试发布,完备的发布,必要nginx+uwsgi+django实现,待续。
参考URL

https://www.cnblogs.com/91parson/p/16511416.html
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-18 16:47, Processed in 0.103357 second(s), 35 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表