使用jenkins和gitlab-runner DevOps CICD - 制作docker镜像并推送到阿里云镜像仓库

本文介绍了如何使用Jenkins和Gitlab-Runner进行DevOps实践,包括安装配置Jenkins、Gitlab、Gitlab-Runner,创建Dockerfile,以及通过CICD流程自动构建Docker镜像并推送到阿里云镜像仓库。
摘要由CSDN通过智能技术生成

前言

DevOps( Development和Operations的组合词 )的概念在软件开发行业中逐渐流行起来。越来越多的团队希望实现产品的敏捷开发,DevOps 使一切成为可能。有了 DevOps,团队可以定期发布代码、自动化部署、并将持续集成( CI ) / 持续交付( CD )作为发布过程的一部分。说到 CICD 比较出名的有 jenkins 和 gitlab-runner 、circle.ci 和travis.ci等等,大家可以自行百度或者找相关文章看看这几个的区别,这里就不详细讲了。

本文将介绍大家如何安装和使用 jenkins 和 gitlab-runner 以及使用 CICD 将前端项目制作成 docker 镜像并推送到阿里云镜像仓库。

准备

首先我们要准备两台机器,可以是虚拟机或者云服务器,我选用的是阿里云 ECS Centos 7 分别来要安装 gitlab 和 jenkins + gitlab-runner,也就是说机器A安装 gitlab,机器B安装 jenkins 和 gitlab-runner。

  • 机器 A 安装 gitlab
  • 机器 B 安装 jenkins 和 gitlab-runner
  • 机器 A 和 B 都安装 jdk、maven 和 docker
  • 在机器A gitlab 上面创建项目

注意:我这里是把jenkins 和 gitlab-runner 安装在同一台机器上

安装 gitlab

之前我已经写过一篇关于如何安装gitlab,这里就不详细说了,大家可以查看这篇文章上面讲的也很详细。注意这篇文章已经教你如何生成你的SSH私钥和公钥了,后面会用到

安装 jenkins

同样的我之前也写过一篇文章关于如何安装jenkins,这里也不详细说了,大家可以查看这篇文章上面讲的也很详细。
注意:这篇文章已经教你如何安装 jdk、maven 和 docker 后面就不做介绍了

安装 gitlab-runner

这里详细讲下如何安装gitlab-runner,我们先去查看官网,上面有介绍如何安装。

# For RHEL/CentOS/Fedora
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash

# For RHEL/CentOS/Fedora
sudo yum install gitlab-runner

安装 jdk、maven和docker

略!

在 gitlab 上面创建项目

这里我们会新建一个前端项目,根据自己熟悉的框架可以使用react、angular或vue来创建项目,我这里使用的是umi来创建项目,创建好之后如下图所示。
在这里插入图片描述

编写Dockerfile

不管是jenkins还是gitlab-runner使用的都是同一份Dockerfile文件,下面就是制作前端项目成docker镜像的Dockerfile文件。

FROM node:12

# 设置工作路径。所有的路径都会关联WORKDIR
WORKDIR /usr/src/app

# 安装依赖
COPY package*.json ./
RUN npm install

# 拷贝源文件
COPY . .

# 构建应用
RUN npm run build

# 运行应用
CMD [ "npm", "start" ]

使用jenkins

  1. 新建jenkins任务
  2. 配置jenkins任务
    1. 源码管理
    2. 构建触发器
    3. 构建
    4. 保存
  3. 项目代码添加 tag 并提交,自动触发 jenkins 并构建

新建jenkins任务

点击新建任务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值