Commit 47ebb95d authored by lvweichao's avatar lvweichao
parents a3c0037f a77d6491
variables:
# 构建后的镜像名
DEPLOY_DOCKER_NAME: harbor.int.yidian-inc.com/open-tech/open-$CI_PROJECT_NAME-pipeline-$CI_PIPELINE_ID-image
PORT: "8055"
# 定义 stages
stages:
#- install_deps
#- build
- assemble
- deploy
- over
build_docker:
stage: assemble
before_script:
- docker login -u harbor_ops -p pssreO3P2S1., harbor.int.yidian-inc.com
script:
- ls -la
- pwd
- docker ps
- docker build -t $DEPLOY_DOCKER_NAME .
- docker push $DEPLOY_DOCKER_NAME
tags:
- superfe_docker
when: manual
#services:
# - docker:dind
only:
- web
deploy_test:
stage: deploy
dependencies:
- build_docker
script:
- export CONTAINER_NAME_PREFIX="open-$CI_PROJECT_NAME-test-$PORT"
# 移除旧版本container
- bash deploy/remove_old_docker.sh $CONTAINER_NAME_PREFIX
- docker pull $DEPLOY_DOCKER_NAME
- docker run -d -t -i -e TZ=Asia/Shanghai --name $CONTAINER_NAME_PREFIX-$CI_JOB_ID-image --net=host -p $PORT:$PORT $DEPLOY_DOCKER_NAME /bin/sh -c "cd /home/worker/opservice.yidian-inc.com/htdocs && pm2 start pm2-test.json"
#- bash deploy/check_port.sh $PORT
tags:
- 11_shell
environment:
name: test
url: http://venus.int.yidian-inc.com:$PORT
when: manual
only:
- web
report_success:
stage: over
dependencies:
- deploy_test
script:
- sh deploy/dingdingrobot.sh "gitlab-ci pipeline【成功】" "#### 【$GITLAB_USER_NAME】 triggered pipeline [$CI_PROJECT_NAME - $CI_PIPELINE_ID]($CI_PROJECT_URL/pipelines/$CI_PIPELINE_ID) on branch [$CI_COMMIT_REF_NAME], Deployed to [http://venus.int.yidian-inc.com:$PORT](http://venus.int.yidian-inc.com:$PORT)"
tags:
- superfe_shell
when: manual
only:
- web
# report_error:
# stage: over
# script:
# - sh deploy/dingdingrobot.sh "gitlab-ci pipeline【失败】" "pipeline run failed:[$CI_PROJECT_NAME - $CI_PIPELINE_ID]($CI_PROJECT_URL/pipelines/$CI_PIPELINE_ID) "
# tags:
# - 10_103_35_79_shell
# when: on_failure
\ No newline at end of file
# docker run -d -p 8374:8374 test pm2-docker start pm2.json FROM node:14
FROM docker2.yidian.com:5000/node:latest RUN mkdir -p /home/worker/opservice.yidian-inc.com/htdocs
RUN npm config set registry https://registry.npm.taobao.org \
&& npm config set loglevel error \ WORKDIR /home/worker/opservice.yidian-inc.com/htdocs
&& npm install -g pm2
# 下面的可以全部注释掉 COPY . .
ADD ./package.json /tmp/package.json
RUN cd /tmp && npm install --no-optional RUN npm install --registry=http://10.126.154.169:4873/ && npm i pm2 -g
RUN mkdir -p /src && cp -a /tmp/node_modules /src/
ADD ./ /src RUN npm run web-build
RUN cd /src && npm run build
WORKDIR /src COPY . .
EXPOSE 8374
#CMD ["npm", "start"]
\ No newline at end of file
# !/bin/bash
# 检查一个端口是否活着
port=$1
echo "check listening $port..."
count=5
while true; do
#s=`netstat -ntl | grep ":${port} " -c`
s=`echo exit | telnet 127.0.0.1 ${port} | grep 'Connected' -c`
if [ "X$s" != "X" ] && [ "$s" != "0" ]; then
break
fi
echo 'nothing listen on $port, wait for 10s repeat...'
count=$((count-1))
if [ $count -le 0 ] ; then
echo 'job fail!'
exit 1
fi
echo $count
sleep 10;
done;
#!/bin/bash
title=$1
content=$2
#测试机器人
#curl -H 'Content-Type: application/json;charset=utf-8' -XPOST https://oapi.dingtalk.com/robot/send?access_token=7d0877aee8c8d5e1e3f622874a01a655ef5cb284fc134e1d5c7352b5c0dbdf0d -d "{'msgtype': 'markdown', 'markdown': {'title':'$title', 'text':'$content'}}"
curl -H 'Content-Type: application/json;charset=utf-8' -XPOST https://oapi.dingtalk.com/robot/send?access_token=1625b01bebd353a1f80a31856185753da89281ea139e1fe63611eac8d59bcd55 -d "{'msgtype': 'markdown', 'markdown': {'title':'$title', 'text':'$content'}}"
\ No newline at end of file
#!/bin/bash
CONTAINER_NAME_PREFIX=$1
old_containers=$(docker ps | grep $CONTAINER_NAME_PREFIX | awk '{print $1}')
for item in $old_containers
do
docker rm -f $item
echo "stop $item"
done
...@@ -4,8 +4,6 @@ ...@@ -4,8 +4,6 @@
"name": "opwebservice", "name": "opwebservice",
"script": "app.js", "script": "app.js",
"cwd": "", "cwd": "",
"exec_mode": "cluster",
"instances": 4,
"max_memory_restart": "1G", "max_memory_restart": "1G",
"autorestart": true, "autorestart": true,
"node_args": [], "node_args": [],
......
...@@ -4,11 +4,11 @@ ...@@ -4,11 +4,11 @@
"name": "opwebservice", "name": "opwebservice",
"script": "app.js", "script": "app.js",
"log_date_format": "YYYY-MM-DD HH:mm Z", "log_date_format": "YYYY-MM-DD HH:mm Z",
"cwd": "/home/worker/opservice.yidianzixun.com/htdocs", "cwd": "/home/worker/opservice.yidian-inc.com/htdocs",
"exec_mode": "cluster", "exec_mode": "cluster",
"instances": 0, "instances": 0,
"error_file": "/home/worker/opservice.yidianzixun.com/logs/opwebservice.err.log", "error_file": "/home/worker/opservice.yidian-inc.com/logs/opwebservice.err.log",
"out_file": "/home/worker/opservice.yidianzixun.com/logs/opwebservice.out.log", "out_file": "/home/worker/opservice.yidian-inc.com/logs/opwebservice.out.log",
"max_memory_restart": "1G", "max_memory_restart": "1G",
"env": { "env": {
"NODE_ENV": "production", "NODE_ENV": "production",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment