Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
basic-api-boot
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Basic
basic-api-boot
Commits
ced27fa6
提交
ced27fa6
authored
5月 17, 2022
作者:
方治民
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ci: 完善本地 gitlab-ci 配置
上级
86468443
流水线
#87
已失败 于阶段
in 1 分 25 秒
变更
4
流水线
1
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
30 行增加
和
21 行删除
+30
-21
.gitlab-ci.yml
.gitlab-ci.yml
+25
-16
Dockerfile
Dockerfile
+4
-4
application-beta.yml
app/src/main/resources/application-beta.yml
+0
-0
application.yml
app/src/main/resources/application.yml
+1
-1
没有找到文件。
.gitlab-ci.yml
浏览文件 @
ced27fa6
# 变量
variables
:
# 本地镜像地址,用于拉取镜像以及发布
REGISTRY_REMOTE
:
localhost:18500
# 容器名称
CONTAINER_NAME
:
basic-api
# 对外访问端口
EXPOSE_PORT
:
8081
# Pipelines 步骤
stages
:
-
build
...
...
@@ -13,46 +22,46 @@ cache:
# 编译项目
build-job
:
stage
:
build
image
:
java:8
image
:
$REGISTRY_REMOTE/jdk-17
only
:
-
beta
-
preview
-
tags
# 使用 CI Runner,在 GitLab-Runner 中注册好的 Runner
tags
:
-
CI
-
YR-
CI
before_script
:
-
chmod +x ./gradlew
script
:
-
./gradlew assemble
-
./gradlew a
pp:a
ssemble
artifacts
:
# 配置构建结果过期时间
expire_in
:
1
week
expire_in
:
1
day
# 保留目录
paths
:
-
build/libs/*.jar
-
app/
build/libs/*.jar
# 发布,在本地构建镜像并推送到发布环境的镜像库
deploy-job
:
stage
:
deploy
image
:
docker:latest
image
:
$REGISTRY_REMOTE/docker
# 部署依赖编译
dependencies
:
-
build-job
only
:
-
beta
-
preview
-
tags
# 使用 CD Runner,在 GitLab-Runner 中注册好的 Runner(此处配置成使用宿主环境构建)
tags
:
-
CD
-
YR-
CD
script
:
# 基于 Dockerfile 构建镜像
-
docker build -t $TAG .
#
登录到发布环境的私服
-
docker
login -u $REGISTRY_REMOTE_USER -p $REGISTRY_REMOTE_PASSWORD https://$REGISTRY_REMOTE
#
将刚刚构建的镜像推送到私服
-
docker
push
$TAG
#
尝试删除上一个容器
-
docker
rm -f $CONTAINER_NAME ||
true
#
在本地运行构建好的镜像
-
docker
run -d --name $CONTAINER_NAME -p $EXPOSE_PORT:8081
$TAG
variables
:
# 读取 GitLab CI/CD 配置的 Secret variables
REGISTRY_REMOTE
:
$REGISTRY_REMOTE
REGISTRY_REMOTE_USER
:
$REGISTRY_REMOTE_USER
REGISTRY_REMOTE_PASSWORD
:
$REGISTRY_REMOTE_PASSWORD
# 设置镜像 tag,使用 git tag 标识作为镜像 tag
TAG
:
$
{REGISTRY_REMOTE}/basic/basic-api:${CI_BUILD_REF_NAME}
TAG
:
$
REGISTRY_REMOTE/basic/$CONTAINER_NAME:$CI_BUILD_REF_NAME
Dockerfile
浏览文件 @
ced27fa6
# 指定基础镜像,在其上进行定制
FROM
java:8
FROM
localhost:18500/jdk-17
# 维护者信息
MAINTAINER
ifzm <fangzhimin@yiring.com>
...
...
@@ -10,14 +10,14 @@ VOLUME /data
VOLUME
/logs
# 复制上下文目录下的 build/libs/app.jar 到容器里
COPY
build/libs/app-0.0.1-SNAPSHOT.jar app.jar
COPY
app/
build/libs/app-0.0.1-SNAPSHOT.jar app.jar
# bash方式执行,使 app.jar 可访问
# RUN新建立一层,在其上执行这些命令,执行结束后, commit 这一层的修改,构成新的镜像。
RUN
bash
-c
"touch /app.jar"
# 声明运行时容器提供服务端口,这只是一个声明,在运行时并不会因为这个声明应用就会开启这个端口的服务
EXPOSE
8
1
81
EXPOSE
8
0
81
# 指定容器启动程序及参数 <ENTRYPOINT> "<CMD>"
ENTRYPOINT
["java", "-jar", "app.jar", "--spring.profiles.active=
prod
"]
ENTRYPOINT
["java", "-jar", "app.jar", "--spring.profiles.active=
beta
"]
app/src/main/resources/application-
test
.yml
→
app/src/main/resources/application-
beta
.yml
浏览文件 @
ced27fa6
File moved
app/src/main/resources/application.yml
浏览文件 @
ced27fa6
...
...
@@ -13,7 +13,7 @@ spring:
name
:
"
basic-api-app"
profiles
:
include
:
auth, conf-patch
active
:
test
active
:
beta
# DEBUG
debug
:
false
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论