当前位置: 首页 > news >正文

稻香村网站建设app引流推广软件

稻香村网站建设,app引流推广软件,几级分销属于合法,做ppt图片网站 知乎前言 一个项目完整的生命周期是从开发的coding阶段和coding阶段的质量测试,再到多次发布投入使用。目前大部分的测试阶段并不是从coding结束后开始的,而是和coding同步进行的。可能今天早上coding完成一个功能,下午就要投入测试。在这期间&a…

前言

一个项目完整的生命周期是从开发的coding阶段和coding阶段的质量测试,再到多次发布投入使用。目前大部分的测试阶段并不是从coding结束后开始的,而是和coding同步进行的。可能今天早上coding完成一个功能,下午就要投入测试。在这期间,我们可能会因为需求发生变化功能需要改进缺陷需要修复等问题要更新服务。这个过程是重复而且是复杂的,也容易出现部署、更新失误的情况。因此我们有了自动构建的需求,和CI/CD(持续构建/持续发布)差不多类似。

愿景

在这里插入图片描述
我们最后要实现的像图片中这样,可以选择要构建的分支要发布到哪一台服务器以及要更新的服务,之后点击构建,完成指定的服务构建以及发布到指定的服务器上。

Jenkins环境搭建

前提环境

  • Docker环境
  • 可以使用docker-compose,建议版本为:Docker Compose version v2.1.1,不然可能会出现docker-compose: not found的情况
  • 拉取 jenkinsci/blueocean:1.25.7-bcc31d32159f镜像
  • 拉取maven:3-alpine镜像

启动Jenkins

docker run \-e TZ=Asia/Shanghai \--network host \-d \-u root \--name jenkins \-v jenkins-data:/var/jenkins_home \-v /var/run/docker.sock:/var/run/docker.sock \-v "$HOME":/home \-v /usr/local/bin/docker-compose:/usr/local/bin/docker-compose \jenkinsci/blueocean:1.25.7-bcc31d32159f

-v jenkins-data:/var/jenkins_home: 将jenkins容器里面的/var/jenkins_home(jenkins配置信息)映射到Docker volume,并将其命名成jenkins-data
-v /var/run/docker.sock:/var/run/docker.sock: 允许jenkins使用docker环境
-v /usr/local/bin/docker-compose:/usr/local/bin/docker-compose: 允许jenkins使用docker-compose

解锁jenkins

第一次访问jenkins地址:http://ip:8080
在这里插入图片描述
密码在jenkins启动日志里
在这里插入图片描述

自定义Jenkins

在这里插入图片描述
选择安装推荐的插件
如果遇到安装部分插件失败,可以去找到系统管理——插件管理——已安装,先卸载掉失败的插件,再去可选插件中搜索并下载.
ps:卸载和下载完需要重启才能生效,但是博主经常遇到点重启,它只关闭不重启,可以手动启动。

创建第一个管理员用户

在这里插入图片描述

实例配置

在这里插入图片描述

插件下载

  • Git Parameter Plug-In,git参数化构建,构建时可以指定构建分支
  • Publish Over SSH插件,远程发布
  • Extended Choice Parameter Plugin,选择参数添加扩展功能
  • Docker,集成docker
  • Docker Pipeline,通过流水线构建和使用Docker容器
  • Docker Compose Buid Step Plugin,集成docker-compose

全局凭据配置

配置gitlab的账号密码
在这里插入图片描述

系统配置

点击系统管理——系统配置

Publish over SSH配置

在这里插入图片描述

SSH Servers新增在这里插入图片描述

创建任务

创建一个流水线任务

在这里插入图片描述

参数化构建

Git参数

在这里插入图片描述

服务器参数配置

在这里插入图片描述

服务名配置

在这里插入图片描述

流水线配置

代码仓库配置

在这里插入图片描述

关闭轻量级检出

在这里插入图片描述

示例项目内容

项目结构

在这里插入图片描述

docker-compose.dev.yml

version: "3.0"
services:holiday-management:build:context: holiday-managementargs:APP: target/holiday-management.jarplan-scheduler:build:context: plan-schedulerargs:APP: target/plan-scheduler.jar

docker-compose.yml

version: "3.0"
services:holiday-management:restart: alwaysimage: holiday/management:latestenv_file: ./config/.envports:- 10018:10010plan-scheduler:restart: alwaysimage: plan/scheduler:latestenv_file: ./config/.envports:- 10028:10020

Jenkinsfile

pipeline {agent anyenvironment {def remoteId = "${PUBLISH_SSH_SERVER}" def service_names = "${SERVICE_NAMES}".replace(",", " ")def half_finished_images = "${service_names}".replace("-", "/").replace(" ", ":latest ")def images = "${half_finished_images}" + ":latest"def deploy = "deploy"}stages {stage('项目构建') {agent {docker {image 'maven:3-alpine'args '-v /home/.m2:/root/.m2'}}steps {echo "打包项目"sh 'mvn clean install -DskipTests=true'echo "构建镜像"sh "docker-compose -f docker-compose.yml -f docker-compose.dev.yml build ${service_names}"}}stage('下载镜像') {agent anysteps {echo "下载镜像"sh "docker save ${images} -o images.tar"}}stage('发往远程'){steps {sshPublisher(publishers: [sshPublisherDesc(configName: """$remoteId""", transfers: [sshTransfer(cleanRemote: false, excludes: '',execCommand: """echo '准备解压发布文件并部署'cd /home/deploy/cpmc#解压到当前目录,并去除一级目录docker load < images.tardocker-compose up -d ${service_names}echo '镜像加载成功'""",execTimeout: 120000,flatten: false,makeEmptyDirs: false,noDefaultExcludes: false,patternSeparator: '[, ]+',remoteDirectory: "cpmc",remoteDirectorySDF: false,removePrefix: '',sourceFiles: "images.tar, config/.env, docker-compose.yml")],usePromotionTimestamp: false,useWorkspaceInPromotion: false,verbose: true)])}}}
}

构建发布

在配置好以上的内容之后,在Dashboard-cpmc-Build with Parameters构建、发布远程

在这里插入图片描述

查看发布日志

点击构建历史下的最新一次构建——Console Output
在这里插入图片描述
构建成功~
ps:如果构建失败可以根据错误提示去解决。博主写这篇博客的时候也是构建了10余次才最后构建成功。。
在这里插入图片描述

最后

到这里,整一套自动构建远程发布就实现啦~欢迎留言讨论!

http://www.tj-hxxt.cn/news/35860.html

相关文章:

  • 电脑游戏网页淘宝标题优化工具推荐
  • 如何建立团购网站免费推广神器
  • 做手机网站兼容网络营销机构官方网站
  • 前期做网站宣传费用怎样做账百度广告商
  • 英文响应式网站建设谷歌浏览器下载手机版
  • 网站策划编辑千锋培训学费多少钱
  • 宁波江北区建设局网站搜索引擎营销的方法不包括
  • 做挂网站吗东莞seo网站制作报价
  • 永久的海外域名武汉seo招聘网
  • 商务封面图片素材优化大师怎么删除学生
  • 手机网站 htmlseo排名是什么
  • 营销型网站建设哪里有站长工具果冻传媒
  • 宁波网站建设公司企业站seo价格
  • 怎么买域名建网站百度推广好不好做
  • 注册了域名 网站怎么做软件培训机构
  • 开网站平台需要多少钱扬州百度seo
  • 如何攻击网站2021小学生新闻摘抄
  • 网站添加友情链接百度链接提交工具
  • 企业做网站的钱怎么做账优化设计全部答案
  • 做电路方案设计的网站郑州seo教程
  • 海山免费网站建设郑州seo排名优化公司
  • 微站是什么东西网站seo外包
  • 设计网站登录框ps怎么做劳动局免费培训项目
  • 一个公司能备案多个网站吗友情链接交换网
  • 长宁企业网站制作现在搜索引擎哪个比百度好用
  • wordpress 仿新浪微博吉林seo关键词
  • 宣汉县建设局网站全国知名网站排名
  • 北京网址建设seo优化软件哪个好
  • python做网站缺点网络平台的推广方法
  • 2020事件营销成功案例seo推广培训费用