docker搭建lnmp环境+jenkins+gitee构建

1:首先获取安装docker,根据自己的系统类型选择,我这里选择centos
文档路径 https://docs.docker.com/engine/install/
微信截图_20240423103746.png
1.1:(未安装过docker可跳过)如果之前安装过docker先执行卸载
 sudo yum remove docker \
                docker-client \
                docker-client-latest \
                docker-common \
                docker-latest \
                docker-latest-logrotate \
                docker-logrotate \
                docker-engine
1.2:设置仓库
 sudo yum install -y yum-utils
 sudo yum-config-manager \
 --add-repo https://download.docker.com/linux/centos/docker-ce.repo
1.3:安装docker(一路yes到底)
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
1.4:安装完成后,启动docker
 sudo systemctl start docker
1.5:验证安装成功
 sudo docker run hello-world
2:设置docker镜像加速
2.1: 设置镜像仓库地址(修改/etc/docker/daemon.json文件,不存在则自行创建)
 vim /etc/docker/daemon.json 
2.2:登录到阿里云获取加速器地址(我使用阿里云镜像加速)
获取地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
微信截图_20240423111408.png
2.3:复制以上加速器地址至daemon.json中,如下
{
  "registry-mirrors": ["https://<your-mirror-id>.mirror.aliyuncs.com"]
}
2.4:重启docker
systemctl restart docker
2.5: 确认加速器已配置
docker info (查看 Registry Mirrors 输出项)
3:拉取镜像源
docker pull jenkins/jenkins:2.440.3
docker pull 2233466866/lnmp:latest
docker pull gitlab/gitlab-ce:latest 
4:创建独立网络(指定了局域网子网范围,网关)
docker network create --driver=bridge \
 --subnet=172.10.0.0/16 \
 --gateway=172.10.0.1 \
myNetwork

创建成功后可使用 docker network ls 命令查看

5:防火墙设置
systemctl stop firewalld.service  //关闭
systemctl disable firewalld.service  //关闭开机启动
setenforce 0 
6:创建jenkins容器
docker run -d -p 8080:8080 \
-p 50000:50000 \
--net myNetwork \
--name myJenkins \
-v /var/jenkins_home:/var/jenkins_home \
--privileged=true \
jenkins/jenkins:2.440.3
注:如果出现容器没up的情况,需要查看日志 (docker logs 容器名称),一般是权限问题
chown -R 1000:1000  /var/jenkins_home
chmod 755 -R /var/jenkins_home

(成功后访问 宿主机IP:8080 即可)

7:创建lnmp容器
docker run -dit \
-p 8081:80 \
-p 443:443 \
-p 3306:3306 \
-p 9000:9000 \
-v /data/wwwroot/www:/www \    映射项目目录
--privileged=true \
--net myNetwork \
--name=myLnmp \
2233466866/lnmp:latest

修改nginx (修改root目录为/www/项目名,try_files路由重写)

docker exec -it myLnmp /bin/bash
vi /usr/local/nginx/conf/nginx.conf

保存重启nginx

cd /usr/local/nginx/sbin
nginx -s reload
8:jenkins进入配置

8.1:进入容器如下图目录,查看复制密码填入

docker exec -it myJenkins /bin/bash 
cat /var/jenkins_home/secrets/initialAdminPassword
微信截图_20240424134511.png

8.2:选择安装推荐的插件
8.3:创建管理员


微信截图_20240424135236.png

8.4:实例配置-使用默认的链接
8.5:完成


微信截图_20240424135809.png

8.6:安装 gitee插件 / Publish Over SSH插件
如图直接搜索
微信截图_20240424144845.png

8.7:重启jenkins服务
docker restart myJenkins

8.8:配置gitee(系统管理 -> 系统配置 -> 搜索gitee)

微信截图_20240424152850.png

8.9:上述(8.8),链接名自定义,证书令牌一项-点击添加后
类型选择Gitee API 令牌, ID随便填,描述随便填
微信截图_20240424145941.png

令牌获取地址:https://gitee.com/profile/personal_access_tokens
微信截图_20240424150629.png

9.0:配置Publish Over SSH(密码方式)(系统管理 -> 系统配置 -> 搜索SSH)
点击新增
微信截图_20240425162105.png

注:先展开高级填写,然后test configuration ,然后保存
微信截图_20240425162722.png

高级配置


微信截图_20240425162940.png
9:安装rsync (用于将项目从jenkins工作空间复制到站点目录)
yum -y install rsync
10:创建jenkins任务

10.1:创建任务


微信截图_20240424145010.png

10.2:输入任务名称,选择Freestyle project


微信截图_20240424145036.png

10.3:general配置(选择8.8配置的gitee配置)
微信截图_20240424153845.png

10.4:源码管理配置
填入项目仓库地址,然后指定分支后保存


微信截图_20240425153605.png

10.5:构建器配置


微信截图_20240425154626.png

微信截图_20240425154827.png

微信截图_20240425154851.png

webhook密码点击右下角生成,然后复制到gitee的webhook中
微信截图_20240425155258.png

10.6:增加构建步骤


微信截图_20240425163404.png

选择先前配好的目标服务器,填入rsync命令,保存
微信截图_20240425165607.png
注意:部署项目需要忽略掉一些目录

使用 --exclude

rsync -avz --delete --exclude 'vendor' --exclude '*.env' --exclude 'storage' --exclude 'bootstrap/cache' /var/jenkins_home/workspace/my11 /data/wwwroot/www
最后就是进入lnmp容器内,对项目进行nginx配置了
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容