首页 > 其他分享 >GitLab + Jenkins + Docker 本地自动化部署

GitLab + Jenkins + Docker 本地自动化部署

时间:2023-07-19 09:23:16浏览次数:39  
标签:容器 GitLab nginx conf home test Jenkins Docker docker

GitLab + Jenkins + Docker 本地自动化部署

原创 贺大官人 猿起猿进 2023-07-12 15:51 发表于浙江

 

图片

GitLab + Jenkins + Docker + Nginx 前端自动化部署

图片图片

 

图片

GitLab 本地化部署——前端代码版本管理

Docker + Nginx 本地容器化部署前端项目——需手动上传项目包并输入命令部署
Jenkins 本地化部署——自动获取GitLab前端代码并自动执行Docker命令完成项目部署【一次配置,终身享受】

图片图片

 

01

Jenkins配置

 

1、登录Jenkins

图片

2、新建自动化部署任务

图片

图片

3、配置自动化部署任务

图片

4、任务描述配置

图片

5、Git源码管理配置

图片

6、构建触发器、构建环境配置

图片

7、构建步骤配置

图片

  • 执行 shell

     

rm -rf dist.tar.gzrm -rf dist/**rm -rf node_modulesnpm install --registry=https://registry.npm.taobao.orgnpm run buildtar -czvf dist.tar.gz dist/rm -rf node_modulesrm -rf .git

8、构建后操作配置——>点击保存完成配置

图片

  • Docker执行命令:

 

cd /home/test-nginx/htmltar -z -x -v -f dist.tar.gzmv dist.tar.gz 备份/cd /home/test-nginx/html/备份mv dist.tar.gz $(date +%Y-%m-%d).tar.gz

9、执行 Jenkins 自动部署项目

图片

 

02

Docker配置

 

前言

1、Docker配置需要在服务器端进行命令配置;

2、这个教程所出示例适合于:使用Windows操作系统连接Linux服务器进行一系列配置;

3、连接服务器软件需要下载 FinalShell 软件,我使用软件版本为 FinalShell 3.9.8.2;

4、安装好 FinalShell 后,问询IT人员要服务器地址及访问账号密码进行连接访问。

图片

图示:连接成功

1、预安装Docker

2、预安装Nginx镜像

图片

图片

下载Nginx镜像

命令 描述
docker pull nginx 下载最新版Nginx镜像(其实此命令就等同于:docker pull nginx: latest)
docker pull nginx:xxx 下载指定版本的Nginx镜像(xxx指具体版本号)

图片

3、检查当前所有Docker下载的镜像

docker images

4、创建Nginx配置文件

 

图片图片

启动前需要先创建Nginx外部挂载的配置文件( /home/nginx/conf/nginx.conf );

之所以要先创建,是因为Nginx本身容器只存在 /etc/nginx 目录,本身就不创建 nginx.conf 文件;

当服务器和容器都不存在 nginx.conf 文件时,执行启动命令的时候 docker 会将 nginx.conf 作为目录创建,这并不是我们想要的结果。

图片图片图片

 

# 创建挂载目录mkdir -p /home/test-nginx/confmkdir -p /home/test-nginx/logmkdir -p /home/test-nginx/html

 

图片

5、容器中的nginx.conf文件和conf.d文件夹复制到宿主机

# 生成容器docker run --name test-nginx -p 4000:80 -d nginx# 将容器nginx.conf文件复制到宿主机docker cp nginx:/etc/nginx/nginx.conf /home/test-nginx/conf/nginx.conf# 将容器conf.d文件夹下内容复制到宿主机docker cp nginx:/etc/nginx/conf.d /home/test-nginx/conf/conf.d# 将容器中的html文件夹复制到宿主机docker cp nginx:/usr/share/nginx/html /home/test-nginx/html

 

图片

 

6、创建Nginx容器并运行

6.1 Docker 创建Nginx容器

# 直接执行 docker rm nginx 或者以容器id方式关闭容器# 找到 nginx 对应的容器iddocker ps -a# 关闭该容器docker stop test-nginx# 删除该容器docker rm test-nginx

或者直接删除正在运行的nginx容器

docker rm -f test-nginx

6.2 Docker 运行Nginx容器

docker run \-p 4000:80 \--name test-nginx \-v /home/test-nginx/conf/nginx.conf:/etc/nginx/nginx.conf \-v /home/test-nginx/conf/conf.d:/etc/nginx/conf.d \-v /home/test-nginx/log:/var/log/nginx \-v /home/test-nginx/html/dist:/usr/share/nginx/html \-d nginx:latest

 

命令 描述
--name nginx 启动容器的名字
-d 后台运行
-p 4000:80 将容器的4000(后面那个)端口映射到主机的80(前面那个)端口
-v /home/test-nginx/conf/nginx.conf:/etc/nginx/nginx.conf 挂载nginx.conf配置文件
-v /home/test-nginx/conf/conf.d:/etc/nginx/conf.d 挂载nginx配置文件
-v /home/test-nginx/log:/var/log/nginx 挂载nginx日志文件
-v /home/test-nginx/html/dist:/usr/share/nginx/html 挂载nginx内容
nginx:latest 本地运行的版本

\

shell 命令换行

单行模式命令

docker run -p 4000:80 --name test-nginx -v /home/test-nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/test-nginx/conf/conf.d:/etc/nginx/conf.d -v /home/test-nginx/log:/var/log/nginx -v /home/test-nginx/html/dist:/usr/share/nginx/html -d nginx:latest

图片

图片

7、结果检测

图片

8、重启容器

docker restart test-nginx

 

03

执行 Jenkins 自动部署项目

 1、将开发完毕的项目提交 gitLab,合并开发分支到

01_Jenkins配置——5、Git源码管理配置——中绑定的分支

2、执行如图操作

图片

3、构建完成后再浏览器输入部署服务器地址 + 端口号

图片

项目自动部署成功。

 

图片

图片

贺大官人

爱我就给我5.20~

赞赏二维码喜欢作者

阅读 727 猿起猿进    

标签:容器,GitLab,nginx,conf,home,test,Jenkins,Docker,docker
From: https://www.cnblogs.com/cherishthepresent/p/17564674.html

相关文章

  • Docker学习路线7:构建容器镜像
    容器镜像是可执行的软件包,包括运行应用程序所需的所有内容:代码、运行时、系统工具、库和设置。通过构建自定义镜像,您可以在任何支持Docker的平台上无缝地部署应用程序及其所有依赖项。Dockerfile构建容器镜像的关键组件是Dockerfile。它本质上是一个包含有关如何组装Docker镜......
  • docker使用
    启动第一个docker容器:1.获取镜像:从配置好的docker镜像站中拉取nginx镜像。2.运行镜像,生成容器常用命令:dockerrim+镜像iddockerimagels---查看下载的镜像dockerrun参数镜像名字/id---运行镜像  dockerrun-d-p80:80nginx(-d:后台运行不占用内存;)dockerps---......
  • docker安装grafana,版本更新
    背景:使用docker安装的grafana,版本为Grafanav7.3.3(2489dc4d3a),因为一些插件不兼容、创建pannel报错等一系列原因,现在将版本更新到Grafanav10.0.2(b2bbe10fbc)  步骤:1、备份数据文件、插件、全局配置文件数据和插件dockercpgrafana:/var/lib/grafana.全局配置......
  • jenkins配置文件
    [root@localhost~]#rpm-qljenkins/etc/init.d/jenkins/etc/logrotate.d/jenkins/etc/sysconfig/jenkins/usr/bin/jenkins/usr/lib/systemd/system/jenkins.service/usr/sbin/rcjenkins/usr/share/java/jenkins.war/usr/share/jenkins/usr/share/jenkins/migrate......
  • Docker本地搭建个人企业私有云盘seafile搭建(完美解决ONLYOFFICE无法预览的情况)
    seafile搭建#创建存放路径mkdir-p/media/megrez/data/seafile/seafile-mysql/dbmkdir-p/media/megrez/data/seafile-data#创建docker-compose.ymldocker-copmse.yml内容如下version:'2.0'services:db:image:mariadbcontainer_name:seafile-mysql......
  • 通过docker-compose 快速部署 harbor
    一、概述Harbor是一个开源的企业级DockerRegistry管理工具,它提供了一个安全、可靠、可扩展的平台,用于存储、管理和分发Docker镜像。Harbor可以帮助组织和团队更好地管理Docker镜像,并提高应用程序构建和部署的效率。以下是Harbor的一些主要特点:安全:Harbor提供了完整的认证......
  • docker安装kibana关联es
    es//拉取镜像dockerpullelasticsearch:7.17.3//运行dockerrun-d--nameelasticsearch-p9200:9200-p9300:9300-e"discovery.type=single-node"elasticsearch:7.17.3浏览器访问http://localhost:9200/或者终端输入curlhttp://localhost:9200///显示配置......
  • yum命令安装jenkins
    yum命令安装jenkins主机地址192.168.100.135系统centos7.5版本:jenkins-2.4141.前提安装了java[root@zxh7-5~]#java-versionopenjdkversion"11.0.19"2023-04-18LTSOpenJDKRuntimeEnvironment(Red_Hat-11.0.19.0.7-1.el7_9)(build11.0.19+7-LTS)OpenJDK64-Bi......
  • 八万乌云漏洞库——Ubuntu本地Docker搭建环境
    环境准备ubuntu16.04虚拟机换国内源vi/etc/apt/sources.list阿里源debhttp://mirrors.aliyun.com/ubuntu/xenialmaindeb-srchttp://mirrors.aliyun.com/ubuntu/xenialmaindebhttp://mirrors.aliyun.com/ubuntu/xenial-updatesmaindeb-srchttp://mirrors.aliy......
  • 迁移原Jenkins数据到新搭建的Jenkins中
    如果我们有一个运行了很久的Jenkins,但想要把运行的数据备份和恢复到我们新部署的Jenkins中,如何操作呢?Jenkins本身其实是提供了备份插件的,我们在Jenkins中安装ThinBackup插件即可实现。安装成功后,可以在系统管理中找到插件的入口: 进入后页面如下: 首先进入settings修改配......