forked from xuxiaowei-cloud/xuxiaowei-cloud-next
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitlab-ci.yml
84 lines (82 loc) · 4.28 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
stages:
- package
cache:
paths:
- .m2/repository
- passport-ui/node
- passport-ui/node_modules
- ui/node
- ui/node_modules
#
# package
package:
variables:
MAVEN_OPTS: "-Dhttps.protocols=TLSv1.2 -Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true"
MAVEN_CLI_OPTS: "--batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=true"
stage: package
image: maven:3.6.3-openjdk-17
script:
- GPG_FILE=`find / -name xuxiaowei_0x97A36125_SECRET`
- echo $GPG_FILE
- gpg --import $GPG_FILE
- SETTINGS_FILE=`find / -name settings.xml`
- echo $SETTINGS_FILE
- sed -i "s#</servers>#<server><id>ossrh</id><username>$ossrh_user</username><password>$ossrh_pass</password></server>&#" $SETTINGS_FILE
- git --version
- echo 常量网址:https://docs.gitlab.com/ee/ci/variables/predefined_variables.html
- echo 当前分支:$CI_COMMIT_BRANCH
- echo 分支上存在的上一个最新提交:$CI_COMMIT_BEFORE_SHA
- echo 分支上存在的上一个最新提交前八个字符:$CI_COMMIT_SHORT_SHA
- echo ISO8601格式的提交时间戳:$CI_COMMIT_TIMESTAMP
- echo "Name<email>格式提交的作者:$CI_COMMIT_AUTHOR"
- echo 提交标记名称。仅在标签的管道中可用:$CI_COMMIT_TAG
- echo 主分支:$CI_DEFAULT_BRANCH
- echo 项目路径:$CI_PROJECT_DIR
- echo 单个执行器中构建执行的唯一ID:$CI_CONCURRENT_ID
- echo 单个执行器和项目中构建执行的唯一ID:$CI_CONCURRENT_PROJECT_ID
- echo 作业是否手动启动:$CI_JOB_MANUAL
- echo 作业的名称:$CI_JOB_NAME
- echo 作业阶段的名称:$CI_JOB_STAGE
- echo 作业开始时的UTC日期时间,采用ISO8601格式:$CI_JOB_STARTED_AT
- echo 创建管道时的UTC日期时间,采用ISO8601格式:$CI_PIPELINE_CREATED_AT
- echo 当前项目的ID,此ID在GitLab实例上的所有项目中都是唯一的:$CI_PROJECT_ID
- echo 作业的项目命名空间(用户名或组名):$CI_PROJECT_NAMESPACE
- echo 项目目录的名称:$CI_PROJECT_NAME
- echo 包含项目名称的项目命名空间:$CI_PROJECT_PATH
- echo GitLab实例的主要版本:$CI_SERVER_VERSION_MAJOR
- echo GitLab实例的次要版本:$CI_SERVER_VERSION_MINOR
- echo GitLab实例的补丁版本:$CI_SERVER_VERSION_PATCH
- echo GitLab实例的完整版本:$CI_SERVER_VERSION
- echo 开始作业的用户的电子邮件:$GITLAB_USER_EMAIL
- echo 启动作业的用户的ID:$GITLAB_USER_ID
- echo 启动作业的用户的用户名:$GITLAB_USER_LOGIN
- echo 启动作业的用户的名称:$GITLAB_USER_NAME
- echo 合并请求的实例级ID,这是GitLab上所有项目的唯一ID:$CI_MERGE_REQUEST_ID
- echo 合并请求的项目级IID(内部ID),此ID对于当前项目是唯一的:$CI_MERGE_REQUEST_IID
- echo 合并请求的目标分支名称:$CI_MERGE_REQUEST_TARGET_BRANCH_NAME
- echo 作业详细信息URL:$CI_JOB_URL
- echo 作业的内部ID,在GitLab实例中的所有作业中是唯一的:$CI_JOB_ID
- echo 正在使用的Runner的唯一ID:$CI_RUNNER_ID
- echo 运行作业的GitLabRunner的版本:$CI_RUNNER_VERSION
- echo 管道详细信息的URL:$CI_PIPELINE_URL
- echo 当前管道的实例级ID。此ID在GitLab实例上的所有项目中都是唯一的:$CI_PIPELINE_ID
- echo 当前管道的项目级IID(内部ID),此ID仅在当前项目中是唯一的:$CI_PIPELINE_IID
- echo GitLab实例URL的主机,没有协议或端口:$CI_SERVER_HOST
- echo 项目的HTTP(S)地址:$CI_PROJECT_URL
- echo 克隆Git存储库的URL:$CI_REPOSITORY_URL
- mvn clean -e -U package source:jar javadoc:jar install -Pgpg -DskipTests && PACKAGE_FLAG=1
- if [ "$PACKAGE_FLAG" == "1" ]; then echo '打包完成'; else echo '打包失败' && xxxx; fi
artifacts:
name: package
paths:
- target/*.jar
- target/*.asc
- target/*.pom
- "*/target/*.jar"
- "*/target/*.asc"
- "*/target/*.pom"
- "*/*/target/*.jar"
- "*/*/target/*.asc"
- "*/*/target/*.pom"
only:
- main