gitlab搭建_搭建gitlab私服,持续集成springboot项目(新手向)

fc1602dab706456d1022a172552e4f56.png
随着微服务的火热,传统的手动部署服务已经渐渐的无法满足实际工程需求,当一个项目按模块拆分成10个的时候,使用ci-自动集成模式就能完美的解决这一问题。

本文主要介绍gitlab+gitlab-runner搭建git私服+持续集成环境。

  • 准备一台电脑pc或者liunx
  • 安装docker
  • 通过docker-compose直接部署gitlab服务,docker-compose up
version
  • 账号:root
  • 密码:5iveL!fe
  • 访问localhost:10080,自动提示修改密码

473391c19e04c0c924b68d05c279dd8b.png
gitlab搭建成功
此处gitlab搭建参考自
sameersbn/docker-gitlab​github.com
fe26e849c67cf26a9a3d8da5fcfd4587.png
  • 安装gitlab-runner服务,去官网找对应的环境安装
https://docs.gitlab.com/runner/install/​docs.gitlab.com
  • 之后注册你的gitlab-runner服务
gitlab-ci-multi-runner register

9c8640639600b4b211befc73d910324d.png
gitlab-runner必要参数
  • 在项目的设置内找到gitlab-runner必要的参数 域名和token
  • 最后一步建议选择shell,因为作者选的是shell
  • 创建一个项目并编写.gitlab-ci.yml文件,文件参考
stages:
  - deploy #步骤名称

deploy:
  stage: deploy #步骤名称
  tags:
    - strategy #标签
  only:
    - master #当且仅当master分支合并时 出发该ci脚本
  script:  #ci脚本
    - mvn clean package
    - "docker build . -t strategy:last"
    - docker stop strategy_image || true
    - docker rm strategy_image || true
    - docker run --name strategy_image -p 7002:80 -d strategy:last

这里解释一下自己理解的gitlab runner工作原理和gitlab-ci.yml这个文件内容

首先 定义一个deploy工作任务

  • 该任务在master分支合并时被触发且执行定义好的script脚本

由于gitlab-runner原理是 当定义的分支合并时

  • 执行 git clone命令拉取该分支代码
  • 在代码根目录执行脚本

所以作者的脚本应该很好理解

  • 在根目录执行mvn clean package打jar包(小公司不需要测试用例 如需要请加上)
  • 执行dockerfile构建镜像(因为作者的项目都是跑在docker上的)
FROM openjdk:8-jdk-alpine
VOLUME /tmp
COPY target/strategy.jar /app/app.jar
COPY target/lib /app/lib
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","-Dspring.profiles.active=prod","/app/app.jar"]

分享一下dockerfile

  • 镜像很简单 copy jar包 安装java 执行
  • 最后触发ci时

ed9abc64a1e1cf76023fdd49e45467fa.png

6559a3644cfe62211f06375929b23806.png

开发测试上线时再也不用自己手动部署项目啦

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值