Jenkins+Docker部署Node应用(Mongo+Redis)
发布于 6 年前 作者 tinycold 2841 次浏览 来自 问答

我有一个Node应用,用到了Mongo和Redis,现在想要用jenkins做CI。

jenkins是直接在服务器上用apt-get下载的,直接安装在服务器上。 Node,Mongo,Redis都用docker做支持。

我目前是分了几个stages,第一个stage启动Mongo,第二个stage启动Redis,第三个stage才是在Node中启动应用。 Jenkinsfile大致为:

pipeline {
    agent none
    stages {
        stage('Mongo') {
            agent {
                docker { image: 'mongo:latest' }
            }
            steps {
                sh 'mongod'
            }
        }
        stage('Redis') {
            agent {
                docker { image: 'redis:latest' }
            }
            steps {
                sh 'xx'
            }
        }
        stage('Deploy') {
            agent {
                docker { image: 'node:8.9.0' }
            }
            steps {
                sh 'npm --version'
                sh 'npm --version'
                sh 'npm install'
                sh 'npm start'
            }
        }
    }
}

出了自己写个dockerfile把Node+mongo+redis搞到一个image里之外,还有没有什么更优雅的实现方法?

回到顶部