Jenkins:创建管道以读取 dockerfile
Jenkins: Creating pipeline to read dockerfile
正在创建管道以读取 Dockerfile 并为此应用程序创建容器 运行。
詹金斯文件:
pipeline {
agent any
tools {nodejs "node" }
stages {
stage('Cloning Git') {
steps {
git url: 'https://github.com/user/private-repo.git',
credentialsId: 'Git-2'
}
}
stage('Build Container Image') {
steps {
agent{
dockerfile {
filename '$workspace/Dockerfile',
label 'node'
}
}
}
}
stage('Build') {
steps {
sh 'npm install'
}
}
stage('Test') {
steps {
sh "pwd"
}
}
}
}
错误:
WorkflowScript: 15: Expected a step @ line 15, column 15.
filename '$workspace/Dockerfile',
我正在阅读这篇文章 Using Docker with Pipeline。我是 Jenkins 的新手,在我看来,我在考虑以下步骤:
- 克隆回购
- 读取 Dockerfile
- 运行 容器 abd 将工作区 Jenkins 绑定到容器工作区
- 安装 NPM 包
- 运行申请
但由于我不知道如何与 Jenkins 打交道,所以我有点不知所措。
Docker 文件:
FROM node
RUN apt-get update && apt-get upgrade -y \
&& apt-get clean
RUN mkdir /app
WORKDIR /app
COPY package*.json /app/
RUN npm install
COPY src /app/src
EXPOSE 3000
CMD [ "npm", "start" ]
任何人都可以帮助我,或推荐一篇文章?
Jenkins 在我心中发挥作用
使用 docker 和 Jenkins 可能相当复杂。您通常需要问的第一个问题是您需要做多复杂的 Jenkins 构建?如果您只是想 运行 一个容器来容纳您的构建,您通常可以只使用声明性管道。
但是,我发现除此之外,通常还需要脚本管道。使用脚本管道,逻辑通常会稍微复杂一些,但更接近原生 groovy.
https://www.jenkins.io/doc/book/pipeline/docker/#building-containers
提供了关于如何完成这项工作的一个很好的概述
请注意,您不应从 jenkinsfile 调用 npm install。这应该只在构建过程中从 docker 容器中执行。
检查源代码。您可以配置 jenkins 服务器以了解您的上游存储库是什么,或者您可以按照步骤 here 添加 URL 和凭据。
构建您的docker文件
Push/tag 您的 docker 图像到注册表,如上述教程和
正在创建管道以读取 Dockerfile 并为此应用程序创建容器 运行。
詹金斯文件:
pipeline {
agent any
tools {nodejs "node" }
stages {
stage('Cloning Git') {
steps {
git url: 'https://github.com/user/private-repo.git',
credentialsId: 'Git-2'
}
}
stage('Build Container Image') {
steps {
agent{
dockerfile {
filename '$workspace/Dockerfile',
label 'node'
}
}
}
}
stage('Build') {
steps {
sh 'npm install'
}
}
stage('Test') {
steps {
sh "pwd"
}
}
}
}
错误:
WorkflowScript: 15: Expected a step @ line 15, column 15. filename '$workspace/Dockerfile',
我正在阅读这篇文章 Using Docker with Pipeline。我是 Jenkins 的新手,在我看来,我在考虑以下步骤:
- 克隆回购
- 读取 Dockerfile
- 运行 容器 abd 将工作区 Jenkins 绑定到容器工作区
- 安装 NPM 包
- 运行申请
但由于我不知道如何与 Jenkins 打交道,所以我有点不知所措。
Docker 文件:
FROM node
RUN apt-get update && apt-get upgrade -y \
&& apt-get clean
RUN mkdir /app
WORKDIR /app
COPY package*.json /app/
RUN npm install
COPY src /app/src
EXPOSE 3000
CMD [ "npm", "start" ]
任何人都可以帮助我,或推荐一篇文章?
Jenkins 在我心中发挥作用
使用 docker 和 Jenkins 可能相当复杂。您通常需要问的第一个问题是您需要做多复杂的 Jenkins 构建?如果您只是想 运行 一个容器来容纳您的构建,您通常可以只使用声明性管道。
但是,我发现除此之外,通常还需要脚本管道。使用脚本管道,逻辑通常会稍微复杂一些,但更接近原生 groovy.
https://www.jenkins.io/doc/book/pipeline/docker/#building-containers
提供了关于如何完成这项工作的一个很好的概述请注意,您不应从 jenkinsfile 调用 npm install。这应该只在构建过程中从 docker 容器中执行。
检查源代码。您可以配置 jenkins 服务器以了解您的上游存储库是什么,或者您可以按照步骤 here 添加 URL 和凭据。
构建您的docker文件
Push/tag 您的 docker 图像到注册表,如上述教程和