持续集成交付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)根据需求选择

2.阿里云云效 Maven 

(1)地址

仓库服务 (aliyun.com)

(2)概念

​
阿里云Maven中央仓库为 阿里云云效 提供的公共代理仓库,帮助研发人员提高研发生产效率,使用阿里云Maven中央仓库作为下载源,速度更快更稳定。阿里云云效 是企业级一站式 DevOps 平台,覆盖产品从需求到运营的研发全生命周期,其中云效也提供了免费、可靠的Maven私有仓库 Packages 和代码管理仓库 Codeup,欢迎您体验使用。云效制品仓库 Packages 致力于帮助开发者统一管理各种开发语言在开发、构建过程中的依赖,构建成果(二进制制品)以及交付过程关键信息的重要组件。云效代码管理 Codeup 是阿里云出品的一款企业级代码管理平台,提供代码托管、代码评审、代码扫描、代码度量等功能,不限人数、超大容量且免费使用,全方位保护代码资产,帮助团队实现安全、稳定、高效的研发管理。​

(3)仓库名称及地址

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

(2) 配置环境变量

(3)新建本地仓库目录

(4) 启用本地仓库

(5) 系统默认镜像

(6)修改阿里源

(7)新建项目

(8)重新上传

(9)查看构建目录

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

(11)成功

(12)查看本地仓库

(13)target目录下生成jar包

(14)尝试跑代码

(15)测试用自定义配置

mvn test -s settings.xml

(16)GitLab新建一个项目

(17)查看runner

(18)添加runner

(19)修改CI文件并提交

(20)完成

(21)通过

(22)查看pipelineInit日志

(23) cibuild日志

(24)SUCCESS

2.GitLabCI 运行Go项目

(1)安装Go

(2)配置环境变量

(3)查看版本

(4)修改下载源

(5)新建项目

(6) 上传项目代码

(7)上传成功

(8)查看runner

(9) 启动runner

(10)修改CI文件

(11)成功

(12) 查看日志

(13) 制品为二进制代码

3.GitLabCI 运行NPM项目

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

(2) 修改环境变量

(3) 查看版本

(4)新建项目

(5)查看runner

(6) 启动runner

(7) 关闭自动化

(8) 上传项目

(9) 构建成功

(10) Blue Ocean查看

三、问题

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

(1)安装VUE

npm install -g vue-cli

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

vue-init webpack vue-demo

(4)运行VUE项目

cd vue-demo
npm run dev

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运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/188807.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++面试题

1.static的使用 1)修饰局部变量:在函数内部使用static修饰局部变量,会使它成为静态局部变量。静态局部变量只会被初始化一次,且只有在第一次调用该函数时才会被初始化,之后每次调用该函数时都会保留上一次的值.从原来…

Vue生命周期:组件的生命之旅

🍃引言 在Vue.js中,每个组件都有其独特的生命周期。这个生命周期指的是组件从创建到销毁的一系列过程。了解并正确使用Vue的生命周期钩子,对于优化组件性能、管理组件状态以及实现特定功能至关重要。本文将详细介绍Vue的生命周期及其各个阶段…

SpringBoot+Redis编写一个抢红包雨的案例。附源码。

案例演示 SpringBootRedis编写一个抢红包雨的案例。附源码 1、案例分析,整体方案介绍 预备上线一个红包雨活动。这个红包雨的思路是活动开始前25分钟,在后台创建活动。然后前端用户进入,到点后将设置的金额拆分成多个小红包,开启倒…

转向更卷的奶茶 库迪这是要在咖啡上认怂?

卖咖啡刚满一年,陆正耀就带着名为“茶猫”的奶茶项目再度登场。 根据多位网友的爆料,茶猫采取和库迪咖啡一样的联营商模式,且有低价补贴策略,主打低价茶饮市场,全场统一定价6.9元。 熟悉的加盟模式,熟悉的…

使用type实现接口继承效果

如何使用type实现接口继承的效果 接口继承的写法 // 接口继承 interface Person {name: stringage: numberhobby?: string say: (content: string) > void } interface Student extends Person {score: number }使用 type 模拟 interface的继承效果 // 使用type实现类似…

CSS选择器十二种方法

相信大家对元素应该是不陌生的,当我们页面中,我们想要布局,给元素添加样式的时候,我们应该怎么获取到指定元素呢? 优先级:ID 选择器 > 类选择器 > 标签选择器 > 通配符 1.元素选择器 通过标签名…

基于springboot+vue的秒杀商城(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

这是怎么了?继阿里11月故障后,淘宝这个问题20 天了还未修复!

继11月12号,阿里云发生大面积故障故障以来,已经过去了近 20天,但是截止到发文时间,作者发现淘宝还有部分功能存在问题,没法正常使用。 难道真是降本增笑,开猿截流,导致没有相关负责人员了&…

业余爱好-社会工程管理记账报税

税务问题笔记 印花税税费申报及缴纳财务和行为税合并纳税申报增值税及附加税费申报企业所得税季度A类申报残疾人就业保障金申报财务报表个税申报 印花税 印花税是对在经济活动和经济交往中书立、领受具有法律效力的凭证的行为征收的一种税。 税费申报及缴纳 财务和行为税合并…

LeetCode Hot100 75.颜色分类

题目: 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 必须在不使用库内置的 so…

CentOS 7安装Java 8

前言 这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。 作者:神的孩子都在歌唱 要在CentOS 7上安装Java 8,请按照以下步骤操作: 打开终端并以root身份登录。 更新系统软件包: …

大数据:Hadoop刷题

大数据:Hadoop刷题 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,oracle,尤其sql要…

Day04:每日一题:2661. 找出叠涂元素

2661. 找出叠涂元素 给你一个下标从 0 开始的整数数组 arr 和一个 m x n 的整数 矩阵 mat 。 arr 和 mat 都包含范围 [1,m * n] 内的 所有 整数。从下标 0 开始遍历 arr 中的每个下标 i ,并将包含整数 arr[i] 的 mat 单元格涂色。请你找出 arr 中在 mat…

【PixPin】媲美QQ/Snipaste截图贴图OCR工具

PixPin PixPin是一款截图工具,它集成了截图、长截图、贴图、标注、OCR识别等众多功能,软件体积小巧,使用简单,是一款非常棒的截图工具。之前使用过Snipaste工具的小伙伴用起来应该是得心应手。 从左往右的功能依次是:…

jetson nano网络配置(有线、无线、USB)

文章目录 网络配置(有线、无线)1.前言1.1 RJ451.2 无线网卡 2.有线连接2.1 连接方法2.2 检测连接状态 3.无线3.1 网卡安装步骤3.2 连接方法3.3 检测连接状态 4.通过USB 线控制Jetson Nano4.1 连接4.2 查看设备4.3 查看设备IP 网络配置(有线、…

ThinkPHP 2.x任意代码执行漏洞

任务一: 复现环境中的代码漏洞 任务二: 尝试利用代码执行漏洞读取服务器web目录下的文件列表。 任务一: 1.搭建环境: 2.在php环境下直接输入{${phpinfo}}测试代码片段 2.写入一句话木马,用antsword连接&#xff0…

【Java8系列07】Java8日期处理

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

nodejs_vue+vscode美容理发店会员管理系统un1dm

按照设计开发一个系统的常用流程来描述系统,可以把系统分成分析阶段,设计阶段,实现阶段,测试阶段。所以在编写系统的说明文档时,根据系统所处的阶段来描述系统的内容。 绪论:这是对选题的背景,意…

停止在 TypeScript 中使用 any 类型

停止在 TypeScript 中使用 any 类型 TypeScript 是 Web 开发人员中最常用的编程语言之一。它具有出色的语言功能,允许我们轻松设计可扩展的应用程序。因此,开发人员倾向于在项目中选择 TypeScript 而不是 JavaScript。 然而,在使用 TypeScr…

Python全栈之基本数据类型详解

文章目录 1.注释2.输出3.变量4.命名规范5.变量的定义方式1.字符串类型2.数字类型3.List列表类型4.tuple 元组类型的定义5.Dict字典类型6.set集合类型7.数据类型转换8.自动类型转换9.强制类型转换关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品…