美文网首页
gitlab ci 部署vue项目

gitlab ci 部署vue项目

作者: 小白小白啦 | 来源:发表于2019-01-23 13:51 被阅读29次

    记录一下其中的三个配置文件。

    .gitlab-ci.yml

    image: xxx/docker/node:10.12.0-alpine
    
    stages:
      - build
      - deploy
    
    cache:
      key: ${CI_COMMIT_REF_NAME}
      paths:
       - node_modules/
    
    job-build:
      stage: build
      only:
        - master
        - feature/init
      tags:
        - shell
      script:
        - npm set registry https://registry.npm.taobao.org
        - npm install --progress=false
        - npm run build
      artifacts:  
        expire_in: 1 week
        paths:
          - dist
    
    job-release:
      stage: deploy
      only:
        - master
      tags:
        - shell
      script:
        - docker build -t xxx/dashboard/dashboard:${CI_COMMIT_SHA:0:8} .
        - docker login -u $DOCKER_USER -p $DOCKER_PASSWORD docker-registry.xxx 
        - docker push xxx/dashboard/dashboard:${CI_COMMIT_SHA:0:8}
      when: manual
    

    Dockerfile

    FROM xxx/docker/nginx:1.13.6
    COPY ./dist /var/www/html
    COPY ./im-dashboard.conf /etc/nginx/conf.d/ 
    RUN rm /etc/nginx/conf.d/default.conf
    EXPOSE 80
    CMD ["nginx","-g","daemon off;"]
    

    im-dashboard.conf

    server {
        listen 80;
        listen [::]:80;
        # 接口服务的IP地址
        server_name im-dashboard.xxx;
        charset utf-8;
        access_log off;
        # ElecManageSystem-应用文件夹名称 app-index.html页面所在文件夹
        root /var/www/html;
        index index.html;
    
        location / {
            try_files $uri $uri/ /index.html;
        }
    
        location /getChartData {
            proxy_pass http://xxx/c/dashboard/getChartData;
            proxy_set_header Cookie $http_cookie;
        }
        location /getMetricNameMap {
            proxy_pass http://xxx/c/dashboard/getMetricNameMap;
            proxy_set_header Cookie $http_cookie;
        }
        location /getGradeList {
            proxy_pass http://xxx/c/dashboard/getGradeList;
            proxy_set_header Cookie $http_cookie;
        }
    
        location /initQuery {
            proxy_pass http://xxx/c/projectListener/initQuery;
            proxy_set_header Cookie $http_cookie;
        }
    
        location /getTotalLayer {
            proxy_pass http://xxx/c/Metric/getTotalLayer;
            proxy_set_header Cookie $http_cookie;
        }
    
        location /findGroupByPidAndPager {
            proxy_pass http://xxx/api/group/findGroupByPidAndPager;
        }
    
        location /findHostBygroupId {
            proxy_pass http://xxx/api/group/findHostBygroupId;
        }
    
        location /v1 {
            proxy_pass http://xxx/api/v1;
        }
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root html;
        }
    }
    

    相关文章

      网友评论

          本文标题:gitlab ci 部署vue项目

          本文链接:https://www.haomeiwen.com/subject/jqvjjqtx.html