前端自动化构建+部署

作者: 代码坊 | 来源:发表于2017-06-30 14:46 被阅读699次

    功能

    web前端自动化构建+部署

    特性

    • Docker Jenkins(with nodejs npm)
    • Docker outside of Docker
    • Docker Nginx

    尝试部署node应用

    • docker版Jenkins没有node环境,需要自己配置dockerfile,安装node环境之后,再来build node工程
    • 本来尝试通过ssh在jenkins docker 的host(有node环境)上进行build,但是一直报错找不到node或者npm命令
    • 尝试了安装Jenkins Nodejs Plugin,但是依然找不到node命令,可能是由于docker的原因?
    • docker版有很多环境变量问题...

    尝试的构建过程

    1. 编写代码,提交git,push至git服务器(github等)
    2. 服务器安装docker版Jeckins,Jenkins运行中监测到git地址有新的push,自动拉取最新的代码build,build过程可能用到nodejs,npm等,需要docker-jenkins安装这些环境(https://github.com/schlechtweg/docker-jenkins-nodejs)
    3. docker-jenkins使用DooD(Docker-outside-of-Docker),将最新的代码部署到docker-nginx等webserver中,这里需要注意docker-jenkens需要配置支持dood(https://github.com/axltxl/docker-jenkins-dood)

    需要搞懂

    • [x] 1. 如何基于官方的jenkins docker安装node
    • [x] 2. 如何基于官方的jenkins docker配置dood
    FROM jenkins
    
    USER root
    #install nodejs
    RUN apt-get update \
     && apt-get install -y \
        curl \
     && curl -sL https://deb.nodesource.com/setup_8.x | bash - \
     && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg |  apt-key add - \
     && echo "deb http://dl.yarnpkg.com/debian/ stable main" |  tee /etc/apt/sources.list.d/yarn.list \
     && apt-get update  \
     && apt-get install -y nodejs yarn sudo \
     && rm -rf /var/lib/apt/lists/*
    
    RUN curl -sSL https://get.docker.com/ | sh && \
        usermod -aG docker jenkins
    

    遇到几个坑

    • 不能用USER jenkins结尾,否则docker ps、docker images等命令,会因为权限问题执行失败
    • 一开始按照https://github.com/axltxl/docker-jenkins-dood配置,docker版本选用1.11.2是可以的,后来突然到2017-6-29,build image的时候,突然不行了,后来查了docker官网,貌似是版本更新了,所以调整了安装docker的代码

    自动化构建部署流程

    graph LR
    本地代码-->git
    git-->Jenkins,Build
    Jenkins,Build-->remote-server-deploy
    

    大坑

    Jenkins 官方Docker 镜像安装Nodejs、安装Docker、配置Dood.

    参考

    [自動建置實戰]Jenkins+Github+Docker

    How to make Jenkins build NodeJS, Ruby, and Maven on Docker

    docker-jenkins-nodejs

    TUTORIAL: BUILDING WITH JENKINS INSIDE AN EPHEMERAL DOCKER CONTAINER

    相关文章

      网友评论

        本文标题:前端自动化构建+部署

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