gitLab CI/CD docker自動部署vue前端項(xiàng)目

查詢了好多資料,都沒有找到可以直接應(yīng)用的,綜合了好多,配置runner之后,前端項(xiàng)目里面需要在項(xiàng)目根目錄配置三個文件:

1..gitlab-ci.yml 文件

stages:

- build

- deploy

# 設(shè)置緩存

cache:

paths:

- node_modules/

- dist/

# 安裝依賴 before_script 會在每個 stages 執(zhí)行之前運(yùn)行

before_script:

- npm install

# 編譯 這里對應(yīng)上方 stages ,

build:

stage: build

script:# script 為要執(zhí)行的命令,可以多條按順序執(zhí)行

? ? - npm run build:prod

docker-deploy:

stage: deploy

# 執(zhí)行Job內(nèi)容

? script:

# 通過Dockerfile生成pactera_pflife_ui鏡像

? ? - sudo docker build -t pactera_pflife_ui .

# 刪除已經(jīng)在運(yùn)行的容器

? ? - if [ $(docker ps -aq --filter name= pactera_pflife_ui) ]; then sudo docker rm -f pactera_pflife_ui;fi

# 通過鏡像啟動容器

? ? - sudo docker run -d -p 8085:80 --name pactera_pflife_ui pactera_pflife_ui

tags:

# 執(zhí)行Job的服務(wù)器

? ? - pflife-web

only:

# 只有在master分支才會執(zhí)行

? ? - dev_xht

2.Dockerfile 文件


# 設(shè)置基礎(chǔ)鏡像

FROM nginx:latest

# 將dist文件中的內(nèi)容復(fù)制到 /usr/share/nginx/html/ 這個目錄下面

COPY dist/ /usr/share/nginx/html

# 用本地的 default.conf 配置來替換nginx鏡像里的默認(rèn)配置

COPY default.conf/etc/nginx/conf.d/default.conf

EXPOSE 80

CMD ["nginx","-g","daemon off;"]

3.default.conf文件

server {

listen? ? ? 80;

server_name? 39.100.9.6; # localhost修改為docker服務(wù)宿主機(jī)的ip

location / {

root? /usr/share/nginx/html;

index? index.html index.htm;

try_files $uri $uri/ /index.html =404;

}

location /api/{

proxy_set_header Host $http_host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header REMOTE-HOST $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass http://39.100.9.6:8090/;

}

error_page? 500 502 503 504? /50x.html;

? ? location = /50x.html {

root? html;

}

}


總之,三個文件部署之后運(yùn)行正常

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容