Jenkins自动化部署之nodeJs项目

目标:

实现在 Jenkins 打包前端项目并上传到docker私库

Jenkins docker 部署见其他博文,这里不作叙述

新建流水线任务

Jenkins自动化部署之nodeJs项目_第1张图片
选择 流水线 pipeline
任务名称 simple-node-js-react-npm-app
点击 确定

切换到 Pipeline (流水线) 选择卡
选 Pipeline script from SCM , 选 Git
仓库 填 git地址,凭证填git账号即可(或先clone到本地,再填这个本地路径)
点击保存

Jenkins自动化部署之nodeJs项目_第2张图片

创建 Jenkinsfile 文件

这里可以先写好,再传到 git 上,Jenkins文件内容如下

pipeline {
    agent {
        docker {
            image 'node:8'
            args '-p 3000:3000'
        }
    }
    stages {
        stage('Build') {
            steps {
                sh 'npm install'
            }
        }
        stage('Prod') {
            steps {
                sh 'npm run build'
            }
        }
    }
}

//上传到私库
node {
    checkout scm
    //私库地址,可增加第二个参数来表示Dockerfile的路径,第三个参数为 Dockerfile 文件名
    docker.withRegistry('http://192.168.1.150:8001') {

		//${env.BUILD_ID}表示当前 Jenkins 任务的构建序号,可改为 latest
        def customImage = docker.build("yibo-job-frontend:${env.BUILD_ID}")

        /* Push the container to the custom Registry */
        customImage.push()
    }
}

Dockerfile如下

FROM nginx
COPY dist/ /usr/share/nginx/html/

创建容器

构建成功后可以运行容器

docker run --name yibo-job-frontend  -p 9902:80 -d yibo-job-frontend:latest

或者在其他机器

docker run --name yibo-job-frontend  -p 9902:80 -d http://192.168.1.150:8001/yibo-job-frontend:latest

你可能感兴趣的:(Jenkins)