推送到GitLab存储库时如何在shell运行器上运行Java项目

我叫Ivan Sidorenko,我是Digital Design的测试工程师。 我的任务是实施用Java Selenium编写的自动测试的启动。

我是CI / CD的新手,所以遇到很多问题。 我没有在Internet上找到有关此任务的详细说明,因此,在开发人员的帮助下,我决定为像我一样的初学者编写一本手册。

我详细介绍了使用GitLab配置CI / CD的所有必要步骤,例如,运行一个使用Java编写的简单HelloWorld程序。



每当开发人员将更改推送到GitLab存储库时,都应运行自动测试。 此任务对应于CI / CD的原则之一-在产品开发的每个阶段启动自动测试。 我不会在本手册中描述完整的CI / CD概念-这些信息很容易在Internet上找到。

但是找不到的是如何使用GitLab为初学者配置CI / CD,并描述了所有必要步骤。 这将在下面讨论。

1.安装Git并访问GitLab存储库


我已经部署了在远程计算机上启动项目所需的一切,但是由于本手册的目的是使自己熟悉部署CI / CD的基础,因此我们将在本地计算机上工作。

转到“项目”页面上的GitLab,在出现的窗口中,单击“ 新建项目”按钮


设置项目名称,在“可见性项目”字段中设置“私有”值,然后单击绿色的“ 创建项目”按钮。



恭喜,GitLab中的项目已创建。



现在,我们需要部署本地存储库,我们将从中将更改推送到GitLab。 为此,必须首先安装Git,在安装过程中可以选择所有默认值。 如果没有git及其安装经验,建议您通过www.youtube.com熟悉课程。

现在,您需要配置Git环境变量user.name和user.email。 我们从GitLab->项目/详细信息页面获取值(创建项目后,我们将立即获得此页面)。

git config --global user.name "user name" git config --global user.email "email@examle.com" 

打开Git Bash,要执行此操作,请在桌面上单击任意位置,然后在此处选择Git Bash。 现在我们依次输入这两个命令。

在那之后,您需要创建一个本地存储库,我们将从此处在GitLab中推送所有更改。 为此,请在本地计算机上创建一个文件夹,转到该文件夹​​,打开Git Bash并按顺序执行这些命令(它们在GitLab-> Project / Details页面上也可用)。

git init
git remote add origin
git init
git remote add origin
here在这里指定项目的路径

现在,我们的远程存储库已添加。 但是在开始将更改推送到GitLab存储库之前,您需要配置SSH密钥。

2.配置SSH密钥


SSH密钥是通过SSH协议将数据从远程存储库安全传输到主git存储库所必需的。 创建一个密钥对。

打开Git Bash并输入:

 ssh-keygen -o -t rsa -b 4096 -C email@example.com 

我们代替您的电子邮件地址,而不是email@example.com。

接下来,我们将收到一条消息,其中存储了密钥。 在这里,我们只需按Enter。 密钥将保存在表单的文件夹中:

 C:\Users\User_name\.ssh 

选择文件夹后,将要求我们输入密钥密码,您可以按两次Enter来跳过此步骤。

现在,您需要将公共密钥添加到您的GitLab帐户。 转到.ssh文件夹,然后使用记事本打开id _rsa.pub id文件。 复制文件的内容并转到GitLab。 在这里,您需要转到用户设置(单击右上角的按钮并选择设置)。



转到“ SSH密钥”部分。

在“密钥”字段中插入公共密钥,然后单击“ 添加密钥”按钮。



现在,您需要将私钥保存在远程计算机上。 为此,请执行以下命令:

 ssh-agent bash ssh-add ~/.ssh/key 

其中key是生成的私钥(名为“ id_rsa”的文件)
ssh-agent是一个程序,用于存储用于通过公钥进行身份验证的私钥(在我们的示例中,这是RSA密钥)。

现在,您可以在GitLab中推送文件了。 检查是否一切正常。 转到先前初始化的存储库。 将空的txt文件添加到其中。 之后,我们在Git Bash中依次执行这些命令。

 git add . git commit -m "Initial commit" git push -u origin master 

转到“项目/详细信息”页面上的GitLab,并验证一切正常。



3.创建一个GitLab Runner(Shell)


要在推送到gitlab时启动项目,我们需要部署一个运行器。 GitLab Runner是用于运行特殊.gitlab-ci.yml文件中的指令的代理。 跑步者有几种类型。 考虑安装和启动最简单的程序之一-ShellRunner。

Shell-runner允许您在安装了该运行器的计算机上运行项目。 考虑在本机上安装此运行器:

1.为跑步者创建一个文件夹,例如C:\ GitLab-Runner

2.从链接下载亚军:
https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-windows-386.exe
将其重命名为gitlab-runner.exe。

3.以管理员身份运行PowerShell。

4.转到我们的文件夹:

 cd C:\GitLab-Runner 

5.输入指向GitLab的链接。 在GitLab中,转到“设置”->“ CI / CD”->“运行程序”。



6.输入令牌:



7.输入赛跑者的描述。

8.输入跑步者的标签。

9.选择流道的类型-外壳。

10.安装流道:

 gitlab-runner install 

11.并运行:

 gitlab-runner start 

为了验证运行程序已经启动,请转到GitLab->设置-> CI / CD->运行程序。 绿色圆圈表示跑步者正在跑步。



4.设置环境变量


要运行我们的java程序,我们需要:

1.安装java:
https://java.com/en/download/

2.安装jdk: https : //www.oracle.com/technetwork/java/javase/downloads/index.html

3.设置环境变量。

要配置环境变量,请转到:
我的电脑->属性->高级环境设置->环境变量
在“系统变量”部分中,创建JAVA_HOME变量,在“变量值”行中,将路径写入jdk。



将此值添加到Path变量。 您还需要验证是否存在Java的路径。



5.项目的创建和启动


让我们创建一个简单的java项目,该项目将输出“ Hello World!”。 在控制台中。 将其放在我们的本地存储库中。 它看起来像这样:



在这里,我创建了一个扩展名为yml的.gitlab-ci文件。

内容.gitlab-ci.yml
 image: java:latest stages: - build - execute build: stage: build script: - cd C:\GitAuto\src - javac Main.java artifacts: tags: - first-runner execute: stage: execute script: - cd C:\GitAuto\src - java Main artifacts: tags: - first-runner 


有两个阶段-生成和执行。 使用javac命令,我们编译源代码,然后使用java命令,运行它。 在每一步中,我们必须明确指出我们将使用哪个跑步者。 运行器将由其标签的值确定(您可以在GitLab的运行器设置中看到它)。

设置文件内容后,转到本地存储库并打开Git Bash。 我们开始按顺序执行命令:

 git add . git commit -m "Initial commit" git push -u origin master 

更改已开始,现在我们将验证程序是否已成功完成。 转到GitLab-> CI / CD->作业,打开最后一个作业:



程序完成了,您太棒了!

Source: https://habr.com/ru/post/zh-CN464403/


All Articles