gpt4 book ai didi

docker - Jenkins:创建管道以读取 dockerfile

转载 作者:行者123 更新时间:2023-12-02 20:53:28 24 4
gpt4 key购买 nike

创建管道以读取 Dockerfile 并为此应用程序创建容器以运行。
Jenkins 文件:

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 的新手,在我的脑海中,我正在考虑以下步骤:
  • 克隆 repo
  • 读取 Dockerfile
  • 运行 Container abd Bind Workspace Jenkins 到 Container Workspace
  • 安装 NPM 包
  • 运行应用程序

  • 但由于我不知道如何与 Jenkins 打交道,我有点迷失在这里。
    Dockerfile:
    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 在我的想法中工作
    enter image description here

    最佳答案

    使用 docker 和 Jenkins 可能相当复杂。你通常需要问的第一个问题是你需要做多复杂的 Jenkins 构建?如果您只是想运行一个容纳您的构建的容器,您通常可以只使用声明性管道。
    但是,我发现除此之外,通常还需要脚本管道。使用脚本流水线,逻辑通常稍微复杂一些,但更接近原生 groovy。
    https://www.jenkins.io/doc/book/pipeline/docker/#building-containers
    https://tutorials.releaseworksacademy.com/learn/building-your-first-docker-image-with-jenkins-2-guide-for-developers 对如何完成这项工作有一个很好的概述。
    请注意,您不应该从 jenkinsfile 调用 npm install。这只能在构建过程中从 docker 容器中执行。

  • checkout 源代码。您可以配置 jenkins 服务器以了解您的上游存储库是什么,或者您可以按照步骤 here添加 URL 和凭据。
  • 构建你的 dockerfile
  • 如上述教程和 here 所示,将您的 docker 镜像推送/标记到注册表
  • 关于docker - Jenkins:创建管道以读取 dockerfile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64310256/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com