提交 0e6d5c40 作者: 方治民

feat: 添加 gitlab-ci 配置

上级 c40ecee6
流水线 #82 已通过 于阶段
in 2 分 40 秒
# Pipelines 步骤
stages:
- build
- test
- deploy
# 缓存配置
cache:
paths:
- node_modules/
# 编译项目
build-job:
stage: build
# 使用 node lts 精简版容器
image: 192.168.0.156:18500/node:latest
only:
- beta
- preview
- tags
# 使用 CI Runner,在 GitLab-Runner 中注册好的 Runner
tags:
- YR-CI
script:
- pnpm i
- pnpm build
artifacts:
# 配置构建结果过期时间
expire_in: 1 day
# 保留目录
paths:
- dist
# # 发布,在本地构建镜像并推送到发布环境的镜像库
# deploy-job:
# stage: deploy
# image: 10.111.102.83:18500/docker:latest
# # 部署依赖编译
# dependencies:
# - build-job
# only:
# - tags
# # 使用 CD Runner,在 GitLab-Runner 中注册好的 Runner(此处配置成使用宿主环境构建)
# tags:
# - CD
# script:
# # 基于 Dockerfile 构建镜像
# - docker build -t $TAG .
# # 登录到发布环境的私服
# - docker login -u $REGISTRY_REMOTE_USER -p $REGISTRY_REMOTE_PASSWORD http://$REGISTRY_REMOTE
# # 将刚刚构建的镜像推送到私服
# - docker push $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}/decision-platform/decision-platform-web:${CI_BUILD_REF_NAME}
FROM 192.168.0.156:18500/nginx:latest
# 拷贝资源文件
COPY dist/ /usr/share/nginx/html/
# 添加配置文件
ADD default.conf /etc/nginx/conf.d/
# 设置工作目录
WORKDIR /usr/share/nginx/html
# 授权
RUN chmod -R a+rx *
# 端口
EXPOSE 80
# 关闭 nginx 后台运行
# https://www.cnblogs.com/weifeng1463/p/10277178.html
CMD ["nginx","-g","daemon off;"]
server {
listen 80;
access_log /var/log/nginx/host.access.log;
location / {
gzip on;
gzip_min_length 10k;
gzip_http_version 1.1;
gzip_comp_level 4;
gzip_types text/plain
application/javascript
application/x-javascript
text/css
application/xml
text/javascript
application/x-httpd-php
image/gif;
gzip_vary off;
gzip_disable "MSIE [1-6]\.";
# history mode
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
# 配置页面不缓存
if ($request_filename ~* .*\.(?:htm|html)$) {
add_header Cache-Control
"private, no-store, no-cache, must-revalidate, proxy-revalidate";
}
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
version: '3'
services:
basic-vue-admin:
build:
context: .
dockerfile: Dockerfile
# 镜像名称
image: localhost:18500/basic/basic-vue-admin:0.0.1
# 容器名称
container_name: 'basic-vue-admin'
# 当 docker 重启时,容器自动启动
restart: always
# 端口绑定
ports:
- 18000:80
environment:
# 设置时区
- TZ=Asia/Shanghai
# 指定网络
networks:
- basic
networks:
# 基础网络
basic:
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论