持续集成交付CICD:GitLabCI 运行前后端项目

目录

一、理论

1.spring项目自动构建

2.阿里云云效 Maven 

3.Maven安装

4.Go安装

5.NPM安装

二、实验

1.GitLabCI 运行Maven项目

2.GitLabCI 运行Go项目

3.GitLabCI 运行NPM项目

三、问题

1.前端脚手架如何初始化项目

2.NPM下载如何指定

3.Go项目下载源如何指定

4.Node.js和NPM的关系


一、理论

1.spring项目自动构建

(1)地址

Spring Initializr

(2)根据需求选择

持续集成交付CICD:GitLabCI 运行前后端项目_第1张图片

2.阿里云云效 Maven 

(1)地址

仓库服务 (aliyun.com)

(2)概念

​
阿里云Maven中央仓库为 阿里云云效 提供的公共代理仓库,帮助研发人员提高研发生产效率,使用阿里云Maven中央仓库作为下载源,速度更快更稳定。

阿里云云效 是企业级一站式 DevOps 平台,覆盖产品从需求到运营的研发全生命周期,其中云效也提供了免费、可靠的Maven私有仓库 Packages 和代码管理仓库 Codeup,欢迎您体验使用。

云效制品仓库 Packages 致力于帮助开发者统一管理各种开发语言在开发、构建过程中的依赖,构建成果(二进制制品)以及交付过程关键信息的重要组件。

云效代码管理 Codeup 是阿里云出品的一款企业级代码管理平台,提供代码托管、代码评审、代码扫描、代码度量等功能,不限人数、超大容量且免费使用,全方位保护代码资产,帮助团队实现安全、稳定、高效的研发管理。

​

(3)仓库名称及地址

持续集成交付CICD:GitLabCI 运行前后端项目_第2张图片

3.Maven安装

(1)CentOS环境安装步骤

tar -xf apache-maven-3.8.6-bin.tar.gz #解压
mv apache-maven-3.8.6 /usr/local/maven #移动文件

#配置环境变量
vim /etc/profile
export JAVA_HOME=/usr/java/jdk-11.0.15.1
export MAVEN_HOME=/usr/local/maven
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin

#刷新配置
source /etc/profile
mvn -v #查找Maven版本

4.Go安装

(1)CentOS环境安装步骤

 tar zxf go1.16.3.linux-amd64.tar.gz -C /usr/local/    #解压到指定目录
 cd /usr/local/go/

#配置环境变量
[root@zeyang-nuc-service go]# vim /etc/profile
export GOROOT=/usr/local/go
export GOPATH=/opt/godir
export PATH=$GOROOT/bin:$PATH

#刷新配置
source /etc/profile
go version   #查找Go版本

5.NPM安装

(1)CentOS环境安装步骤

wget https://nodejs.org/dist/v14.16.1/node-v14.16.1-linux-x64.tar.xz     
tar xf node-v14.16.1-linux-x64.tar.xz -C /usr/local/   #解压到指定目录

#配置环境变量
vim /etc/profile
export NODE_HOME=/usr/local/node-v14.16.1-linux-x64
export PATH=$NODE_HOME/bin:$PATH

#刷新配置
source /etc/profile
node -v   #查找node版本
# npm -v   #查找npm版本




二、实验

1.GitLabCI 运行Maven项目

(1)安装Maven

持续集成交付CICD:GitLabCI 运行前后端项目_第3张图片

(2) 配置环境变量

(3)新建本地仓库目录

(4) 启用本地仓库

(5) 系统默认镜像

持续集成交付CICD:GitLabCI 运行前后端项目_第4张图片

(6)修改阿里源持续集成交付CICD:GitLabCI 运行前后端项目_第5张图片

(7)新建项目

持续集成交付CICD:GitLabCI 运行前后端项目_第6张图片

(8)重新上传

持续集成交付CICD:GitLabCI 运行前后端项目_第7张图片

(9)查看构建目录持续集成交付CICD:GitLabCI 运行前后端项目_第8张图片

(10)重新跑maven-test-master项目

持续集成交付CICD:GitLabCI 运行前后端项目_第9张图片

(11)成功

持续集成交付CICD:GitLabCI 运行前后端项目_第10张图片

(12)查看本地仓库

持续集成交付CICD:GitLabCI 运行前后端项目_第11张图片

(13)target目录下生成jar包持续集成交付CICD:GitLabCI 运行前后端项目_第12张图片

(14)尝试跑代码

(15)测试用自定义配置

mvn test -s settings.xml

(16)GitLab新建一个项目

(17)查看runner

(18)添加runner

(19)修改CI文件并提交

持续集成交付CICD:GitLabCI 运行前后端项目_第13张图片

(20)完成

持续集成交付CICD:GitLabCI 运行前后端项目_第14张图片

(21)通过

持续集成交付CICD:GitLabCI 运行前后端项目_第15张图片

(22)查看pipelineInit日志

持续集成交付CICD:GitLabCI 运行前后端项目_第16张图片

(23) cibuild日志

持续集成交付CICD:GitLabCI 运行前后端项目_第17张图片

(24)SUCCESS

持续集成交付CICD:GitLabCI 运行前后端项目_第18张图片

2.GitLabCI 运行Go项目

(1)安装Go

持续集成交付CICD:GitLabCI 运行前后端项目_第19张图片

(2)配置环境变量

(3)查看版本

(4)修改下载源

(5)新建项目持续集成交付CICD:GitLabCI 运行前后端项目_第20张图片

(6) 上传项目代码

持续集成交付CICD:GitLabCI 运行前后端项目_第21张图片

(7)上传成功

持续集成交付CICD:GitLabCI 运行前后端项目_第22张图片

(8)查看runner

(9) 启动runner

(10)修改CI文件

持续集成交付CICD:GitLabCI 运行前后端项目_第23张图片

(11)成功

持续集成交付CICD:GitLabCI 运行前后端项目_第24张图片

(12) 查看日志

持续集成交付CICD:GitLabCI 运行前后端项目_第25张图片

(13) 制品为二进制代码

持续集成交付CICD:GitLabCI 运行前后端项目_第26张图片

3.GitLabCI 运行NPM项目

(1) NPM安装,内置于Node.js

持续集成交付CICD:GitLabCI 运行前后端项目_第27张图片

(2) 修改环境变量

(3) 查看版本

持续集成交付CICD:GitLabCI 运行前后端项目_第28张图片

(4)新建项目

持续集成交付CICD:GitLabCI 运行前后端项目_第29张图片

(5)查看runner

(6) 启动runner

(7) 关闭自动化

持续集成交付CICD:GitLabCI 运行前后端项目_第30张图片

(8) 上传项目

持续集成交付CICD:GitLabCI 运行前后端项目_第31张图片

(9) 构建成功

持续集成交付CICD:GitLabCI 运行前后端项目_第32张图片

(10) Blue Ocean查看

持续集成交付CICD:GitLabCI 运行前后端项目_第33张图片

三、问题

1.前端脚手架如何初始化项目

(1)安装VUE

npm install -g vue-cli

持续集成交付CICD:GitLabCI 运行前后端项目_第34张图片

(2)前端脚手架初始化项目

vue-init webpack vue-demo

持续集成交付CICD:GitLabCI 运行前后端项目_第35张图片持续集成交付CICD:GitLabCI 运行前后端项目_第36张图片持续集成交付CICD:GitLabCI 运行前后端项目_第37张图片持续集成交付CICD:GitLabCI 运行前后端项目_第38张图片(4)运行VUE项目

cd vue-demo
npm run dev

持续集成交付CICD:GitLabCI 运行前后端项目_第39张图片持续集成交付CICD:GitLabCI 运行前后端项目_第40张图片

2.NPM下载如何指定

(1)指定下载源

npm config set registry https://registry.npm.taobao.org

3.Go项目下载源如何指定

(1)第一种方式

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct

(2)第二种方式

go env -w GO111MODULE=on
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct

4.Node.js和NPM的关系

(1)NPM

全称是 Node Package Manager 包管理工具。
这一点和maven、gradle十分相似,只不过maven、gradle是用来管理java jar包的,而npm是用来管理js的。

#实现思路
NPM 的实现思路和maven、gradle是一样的:
1)有一个远程代码仓库(registry),在里面存放所有需要被共享的js代码,每个js文件都有自己唯一标识。
2)用户想使用某个js的时候,只需引用对应的标识,js文件会自动下载下来。

(2)Node.js

Node.js是一个Javascript运行环境(runtime environment),不是一个js文件,实质是对Chrome V8引擎进行了封装。Node.js 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python 等服务端语言平起平坐的脚本语言。

1)Node.js提供替代的API,使得V8在非浏览器环境下运行得更好。V8引擎执行Javascript的速度非常快,性能非常好。 

2)Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。

你可能感兴趣的:(持续集成交付CICD,ci/cd,jenkins,运维)