clouddreamai-cicd-setup 1.5.15 → 1.5.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -160,8 +160,8 @@ deploy_dev:
|
|
|
160
160
|
script:
|
|
161
161
|
- sshpass -p "$SSH_PASSWORD" ssh root@$TEST_SERVER_HOST "mkdir -p $DEPLOY_DIR"
|
|
162
162
|
- sshpass -p "$SSH_PASSWORD" ssh root@$TEST_SERVER_HOST "which rsync || apk add --no-cache rsync"
|
|
163
|
-
# 将环境变量文件写入本地,rsync
|
|
164
|
-
-
|
|
163
|
+
# 将环境变量文件写入本地,rsync 会同步到服务器(ENV_FILE_CONTENT 是文件路径)
|
|
164
|
+
- cat "$ENV_FILE_CONTENT" > .env
|
|
165
165
|
- sshpass -p "$SSH_PASSWORD" rsync -avz --delete --exclude='.git/' --exclude='node_modules/' . root@$TEST_SERVER_HOST:$DEPLOY_DIR/
|
|
166
166
|
# 传递 GitLab Registry 凭据和镜像名到部署服务器
|
|
167
167
|
- sshpass -p "$SSH_PASSWORD" ssh root@$TEST_SERVER_HOST "export REGISTRY_URL='$CI_REGISTRY' && export REGISTRY_USERNAME='$CI_REGISTRY_USER' && export REGISTRY_PASSWORD='$CI_REGISTRY_PASSWORD' && export DOCKER_IMAGE='$CI_REGISTRY_IMAGE:latest' && export APP_PORT='$APP_PORT' && cd $DEPLOY_DIR && chmod +x ci/deploy.sh && bash ci/deploy.sh $ENV_TYPE gitlab"
|
|
@@ -193,8 +193,8 @@ deploy_prod:
|
|
|
193
193
|
script:
|
|
194
194
|
- sshpass -p "$SSH_PASSWORD" ssh root@$PROD_SERVER_HOST "mkdir -p $DEPLOY_DIR"
|
|
195
195
|
- sshpass -p "$SSH_PASSWORD" ssh root@$PROD_SERVER_HOST "which rsync || apk add --no-cache rsync"
|
|
196
|
-
# 将环境变量文件写入本地,rsync
|
|
197
|
-
-
|
|
196
|
+
# 将环境变量文件写入本地,rsync 会同步到服务器(ENV_FILE_CONTENT 是文件路径)
|
|
197
|
+
- cat "$ENV_FILE_CONTENT" > .env
|
|
198
198
|
- sshpass -p "$SSH_PASSWORD" rsync -avz --delete --exclude='.git/' --exclude='node_modules/' . root@$PROD_SERVER_HOST:$DEPLOY_DIR/
|
|
199
199
|
# 传递 GitLab Registry 凭据和镜像名到部署服务器
|
|
200
200
|
- sshpass -p "$SSH_PASSWORD" ssh root@$PROD_SERVER_HOST "export REGISTRY_URL='$CI_REGISTRY' && export REGISTRY_USERNAME='$CI_REGISTRY_USER' && export REGISTRY_PASSWORD='$CI_REGISTRY_PASSWORD' && export DOCKER_IMAGE='$CI_REGISTRY_IMAGE:latest' && export APP_PORT='$APP_PORT' && cd $DEPLOY_DIR && chmod +x ci/deploy.sh && bash ci/deploy.sh $ENV_TYPE gitlab"
|
|
@@ -109,20 +109,52 @@ lint:
|
|
|
109
109
|
- main
|
|
110
110
|
- develop
|
|
111
111
|
|
|
112
|
-
#
|
|
113
|
-
|
|
112
|
+
# 开发环境构建(develop 分支)
|
|
113
|
+
build_dev:
|
|
114
114
|
stage: build
|
|
115
115
|
cache: {}
|
|
116
116
|
image:
|
|
117
117
|
name: docker:24.0.5
|
|
118
118
|
pull_policy: if-not-present
|
|
119
|
-
|
|
120
|
-
|
|
119
|
+
variables:
|
|
120
|
+
ENV_FILE_CONTENT: $DEV_ENV_FILE
|
|
121
121
|
before_script:
|
|
122
122
|
- docker info
|
|
123
123
|
- echo "登录到 GitLab Container Registry..."
|
|
124
124
|
- echo "$CI_REGISTRY_PASSWORD" | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY
|
|
125
125
|
script:
|
|
126
|
+
- echo "写入开发环境配置..."
|
|
127
|
+
- cat "$ENV_FILE_CONTENT" > .env
|
|
128
|
+
- echo "尝试拉取最新镜像作为缓存..."
|
|
129
|
+
- docker pull $DOCKER_IMAGE:dev || true
|
|
130
|
+
- echo "构建Docker镜像..."
|
|
131
|
+
- |
|
|
132
|
+
docker build \
|
|
133
|
+
--cache-from $DOCKER_IMAGE:dev \
|
|
134
|
+
-t $DOCKER_IMAGE:$CI_COMMIT_SHA \
|
|
135
|
+
-t $DOCKER_IMAGE:dev .
|
|
136
|
+
- echo "推送镜像到 GitLab Container Registry..."
|
|
137
|
+
- docker push $DOCKER_IMAGE:$CI_COMMIT_SHA
|
|
138
|
+
- docker push $DOCKER_IMAGE:dev
|
|
139
|
+
only:
|
|
140
|
+
- develop
|
|
141
|
+
|
|
142
|
+
# 生产环境构建(main 分支)
|
|
143
|
+
build_prod:
|
|
144
|
+
stage: build
|
|
145
|
+
cache: {}
|
|
146
|
+
image:
|
|
147
|
+
name: docker:24.0.5
|
|
148
|
+
pull_policy: if-not-present
|
|
149
|
+
variables:
|
|
150
|
+
ENV_FILE_CONTENT: $PROD_ENV_FILE
|
|
151
|
+
before_script:
|
|
152
|
+
- docker info
|
|
153
|
+
- echo "登录到 GitLab Container Registry..."
|
|
154
|
+
- echo "$CI_REGISTRY_PASSWORD" | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY
|
|
155
|
+
script:
|
|
156
|
+
- echo "写入生产环境配置..."
|
|
157
|
+
- cat "$ENV_FILE_CONTENT" > .env
|
|
126
158
|
- echo "尝试拉取最新镜像作为缓存..."
|
|
127
159
|
- docker pull $DOCKER_IMAGE:latest || true
|
|
128
160
|
- echo "构建Docker镜像..."
|
|
@@ -136,7 +168,6 @@ build:
|
|
|
136
168
|
- docker push $DOCKER_IMAGE:latest
|
|
137
169
|
only:
|
|
138
170
|
- main
|
|
139
|
-
- develop
|
|
140
171
|
|
|
141
172
|
# 开发环境部署(develop 分支自动触发)
|
|
142
173
|
deploy_dev:
|
|
@@ -160,8 +191,8 @@ deploy_dev:
|
|
|
160
191
|
script:
|
|
161
192
|
- sshpass -p "$SSH_PASSWORD" ssh root@$TEST_SERVER_HOST "mkdir -p $DEPLOY_DIR"
|
|
162
193
|
- sshpass -p "$SSH_PASSWORD" ssh root@$TEST_SERVER_HOST "which rsync || apk add --no-cache rsync"
|
|
163
|
-
# 将环境变量文件写入本地,rsync
|
|
164
|
-
-
|
|
194
|
+
# 将环境变量文件写入本地,rsync 会同步到服务器(ENV_FILE_CONTENT 是文件路径)
|
|
195
|
+
- cat "$ENV_FILE_CONTENT" > .env
|
|
165
196
|
- sshpass -p "$SSH_PASSWORD" rsync -avz --delete --exclude='.git/' --exclude='node_modules/' . root@$TEST_SERVER_HOST:$DEPLOY_DIR/
|
|
166
197
|
# 传递 GitLab Registry 凭据和镜像名到部署服务器
|
|
167
198
|
- sshpass -p "$SSH_PASSWORD" ssh root@$TEST_SERVER_HOST "export REGISTRY_URL='$CI_REGISTRY' && export REGISTRY_USERNAME='$CI_REGISTRY_USER' && export REGISTRY_PASSWORD='$CI_REGISTRY_PASSWORD' && export DOCKER_IMAGE='$CI_REGISTRY_IMAGE:latest' && export APP_PORT='$APP_PORT' && cd $DEPLOY_DIR && chmod +x ci/deploy.sh && bash ci/deploy.sh $ENV_TYPE gitlab"
|
|
@@ -193,8 +224,8 @@ deploy_prod:
|
|
|
193
224
|
script:
|
|
194
225
|
- sshpass -p "$SSH_PASSWORD" ssh root@$PROD_SERVER_HOST "mkdir -p $DEPLOY_DIR"
|
|
195
226
|
- sshpass -p "$SSH_PASSWORD" ssh root@$PROD_SERVER_HOST "which rsync || apk add --no-cache rsync"
|
|
196
|
-
# 将环境变量文件写入本地,rsync
|
|
197
|
-
-
|
|
227
|
+
# 将环境变量文件写入本地,rsync 会同步到服务器(ENV_FILE_CONTENT 是文件路径)
|
|
228
|
+
- cat "$ENV_FILE_CONTENT" > .env
|
|
198
229
|
- sshpass -p "$SSH_PASSWORD" rsync -avz --delete --exclude='.git/' --exclude='node_modules/' . root@$PROD_SERVER_HOST:$DEPLOY_DIR/
|
|
199
230
|
# 传递 GitLab Registry 凭据和镜像名到部署服务器
|
|
200
231
|
- sshpass -p "$SSH_PASSWORD" ssh root@$PROD_SERVER_HOST "export REGISTRY_URL='$CI_REGISTRY' && export REGISTRY_USERNAME='$CI_REGISTRY_USER' && export REGISTRY_PASSWORD='$CI_REGISTRY_PASSWORD' && export DOCKER_IMAGE='$CI_REGISTRY_IMAGE:latest' && export APP_PORT='$APP_PORT' && cd $DEPLOY_DIR && chmod +x ci/deploy.sh && bash ci/deploy.sh $ENV_TYPE gitlab"
|