iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > html >web开发在流水线中如何使用容器进行编译构建
  • 240
分享到

web开发在流水线中如何使用容器进行编译构建

2024-04-02 19:04:59 240人浏览 泡泡鱼
摘要

这篇文章主要为大家展示了“web开发在流水线中如何使用容器进行编译构建”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“WEB开发在流水线中如何使用容器进行编译构建

这篇文章主要为大家展示了“web开发在流水线中如何使用容器进行编译构建”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“WEB开发在流水线中如何使用容器进行编译构建”这篇文章吧。

 配置DockerInDocker

web开发在流水线中如何使用容器进行编译构建

配置jenkinsMaster挂载Docker

docker run --name jenkins -itd \        -p 8081:8080 \        -p 50000:50000 \        -v ~/jenkins:/var/jenkins_home \        -v /var/run/docker.sock:/var/run/docker.sock \        -v /usr/local/bin/docker:/usr/bin/docker \        jenkins/jenkins:lts

解决权限问题/以root用户运行

docker exec -it -u root jenkins bash usermod -aG root jenkins  id jenkins uid=1000(jenkins) gid=1000(jenkins) groups=1000(jenkins),0(root),1(daemon)

调试流水线

  1. pipeline { 

  2.     agent { 

  3.         docker {  

  4.             image 'Maven:3.6.3-jdk-8'  

  5.             args '-v $HOME/.m2:/root/.m2' 

  6.         } 

  7.     } 

  8.     stages { 

  9.         stage('Build') { 

  10.             steps { 

  11.                 sh 'mvn -v' 

  12.             } 

  13.         } 

  14.     } 


Started by user admin Replayed #40 Running in Durability level: MAX_SURVIVABILITY [Pipeline] Start of Pipeline [Pipeline] node Running on Jenkins in /var/jenkins_home/workspace/test [Pipeline] { [Pipeline] isUnix [Pipeline] sh + docker inspect -f . maven:3.6.3-jdk-8 . [Pipeline] withDockerContainer Jenkins seems to be running inside container 5373eDDDcdadb63Df5e5c6ed7f6149719ad749536242f10c06cbceca511a9898 $ docker run -t -d -u 1000:1000 -w /var/jenkins_home/workspace/test --volumes-from 5373edddcdadb63df5e5c6ed7f6149719ad749536242f10c06cbceca511a9898 -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** maven:3.6.3-jdk-8 cat $ docker top 01102f26f8957fc7c46d0f9d1118e38316e313707357cdc5332c7d62836e1df2 -eo pid,comm [Pipeline] { [Pipeline] stage [Pipeline] { (Test) [Pipeline] sh + mvn -v Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: /usr/share/maven Java version: 1.8.0_242, vendor: oracle Corporation, runtime: /usr/local/openjdk-8/jre Default locale: en, platfORM encoding: UTF-8 OS name: "linux", version: "4.19.76-linuxkit", arch: "amd64", family: "unix" [Pipeline] } [Pipeline] // stage [Pipeline] } $ docker stop --time=1 01102f26f8957fc7c46d0f9d1118e38316e313707357cdc5332c7d62836e1df2 $ docker rm -f 01102f26f8957fc7c46d0f9d1118e38316e313707357cdc5332c7d62836e1df2 [Pipeline] // withDockerContainer [Pipeline] } [Pipeline] // node [Pipeline] End of Pipeline Finished: SUCCESS

每个阶段指定不同的Docker容器运行

pipeline {     agent none     stages {         stage('ServiceBuild') {             agent {                 docker {                      image 'maven:3.6.3-jdk-8'                      args '-v $HOME/.m2:/root/.m2'                 }             }             steps {                 sh 'mvn -v  && sleep 15'             }         }                stage('WebBuild') {             agent {                 docker {                      image 'node:7-alpine'                      args '-v $HOME/.m2:/root/.m2'                 }             }             steps {                 sh 'node -v  && sleep 15'             }         }     } }

前端流水线

pipeline {     agent none     stages {         stage('WebBuild') {             agent {                 docker {                      image 'node:10.19.0-alpine'                      args '-u 0:0 -v /var/jenkins_home/.npm:/root/.npm'                 }             }             steps {                 sh """                     id                      ls /root/.npm                      ls /root/ -a                     npm config set unsafe-perm=true                     npm config list                     npm config set cache  /root/.npm                     #npm config set reGIStry https://registry.npm.taobao.org                     npm config list                     ls                      npm install  --unsafe-perm=true && npm run build  && ls -l dist/ && sleep 15                  """             }         }     } }

FAQ

npm构建权限问题:使用root用户构建。设置容器运行用户 -u 0:0

npm打包慢问题:

2.1 挂载缓存

-v /var/jenkins_home/.npm:/root/.npm

2.2 设置淘宝源

npm config set registry Https://registry.npm.taobao.org

以上是“web开发在流水线中如何使用容器进行编译构建”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网html频道!

--结束END--

本文标题: web开发在流水线中如何使用容器进行编译构建

本文链接: https://www.lsjlt.com/news/80313.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • web开发在流水线中如何使用容器进行编译构建
    这篇文章主要为大家展示了“web开发在流水线中如何使用容器进行编译构建”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“web开发在流水线中如何使用容器进行编译构建...
    99+
    2024-04-02
  • 如何在Java IDE中使用npm容器进行开发?
    在前端开发中,npm是一个必不可少的工具。然而,在Java开发中,我们通常使用IDE(如Eclipse、IntelliJ IDEA等)来进行开发,这样会使得我们在使用npm时出现一些问题。为了解决这些问题,我们可以使用npm容器进行开发。...
    99+
    2023-09-17
    ide npm 容器
  • Python 容器:如何在 shell 中进行开发?
    Python 是一种非常流行的编程语言,它有着丰富的容器类型,包括列表、元组、字典等等。这些容器类型可以存储不同类型的数据,从而使我们的编程更加方便和灵活。在本文中,我们将探讨如何在 shell 中使用 Python 容器进行开发。 首先...
    99+
    2023-07-02
    容器 http shell
  • 如何在 ASP 开发中使用 javascript 进行编程?
    如何在 ASP 开发中使用 JavaScript 进行编程? ASP(Active Server Pages)是一种基于服务器端的脚本技术,用于创建动态网页。JavaScript则是一种基于客户端的脚本语言,用于增强网页的交互性和动态性。在...
    99+
    2023-10-08
    开发技术 编程算法 javascript
  • Python IDE中如何使用Django进行Web开发?
    Python是一门非常流行的编程语言,广泛应用于各个领域。在Web开发领域,Python也有着非常强大的工具和框架。其中,Django是最受欢迎的Python Web框架之一。在本文中,我们将探讨如何在Python IDE中使用Django...
    99+
    2023-07-31
    ide django numy
  • 如何在Spring容器中使用Python shell进行应用程序开发?
    在软件开发领域,Spring框架被广泛应用于Java应用程序的开发和管理。然而,在某些情况下,开发人员需要使用其他编程语言来完成应用程序的某些特定部分。Python是一种流行的编程语言,具有简单易学、灵活、高效等特点,因此,将Python与...
    99+
    2023-10-15
    shell spring 容器
  • 如何在 Windows 上使用 Python 和 Django 进行 Web 开发?
    在现代互联网时代,Web 开发是一项非常热门的技能。Python 作为一种流行的编程语言,有着丰富的 Web 开发库和框架,其中 Django 可谓是最受欢迎的之一。在本篇文章中,我们将介绍如何在 Windows 上使用 Python 和 ...
    99+
    2023-10-14
    django 关键字 windows
  • 如何在GO编程中使用NumPy进行高效开发?
    在Go编程中使用NumPy进行高效开发,可以极大地提高代码的效率和性能。NumPy是一个用于Python编程语言的科学计算库,它提供了高性能的多维数组对象和相关的工具,可以用于数学、科学、工程等领域的数据处理和分析。 在Go编程中使用Num...
    99+
    2023-08-05
    编程算法 开发技术 numpy
  • 《PHP并发编程实战:教你如何使用容器进行多线程编程》?
    PHP并发编程实战:教你如何使用容器进行多线程编程 PHP是一种被广泛使用的服务器端编程语言,其在Web开发领域中有着广泛的应用。但是,由于PHP的单线程特性,它无法同时处理多个请求,这使得在高并发场景下,PHP的性能表现往往不尽如人意。为...
    99+
    2023-10-02
    并发 教程 容器
  • Python 文件 IDE 容器:如何在容器中构建 Python 开发环境?
    Python 是一种流行的编程语言,被广泛应用于各种领域。因为 Python 具有易学易用、开放源代码、可扩展性强等优点,所以越来越多的开发者选择使用 Python 进行开发。为了提高开发效率,开发者需要一个高效的开发环境。在这方面,Py...
    99+
    2023-08-25
    文件 ide 容器
  • 如何在ArchLinux中安装和使用编译器和开发工具
    在ArchLinux中安装和使用编译器和开发工具非常简单。以下是一些常见的编译器和开发工具的安装方法: GCC编译器:GCC是GN...
    99+
    2024-04-02
  • 如何使用ASP和npm在Unix环境下进行Web开发?
    在Unix环境下进行Web开发,ASP和npm是两个非常有用的工具。ASP是一种Microsoft开发的服务器端脚本语言,可用于创建动态网站和web应用程序。而npm是Node.js的包管理器,可用于管理和安装Node.js模块。 在本文中...
    99+
    2023-06-16
    npm 学习笔记 unix
  • 如何在Java中使用Django进行并发编程?
    在Java开发中,Django是一个非常流行的Python web框架,它的并发编程能力也备受推崇。本篇文章将介绍如何在Java中使用Django进行并发编程,同时穿插一些演示代码。 一、Django的并发编程能力 Django的并发编程能...
    99+
    2023-10-16
    git django 并发
  • 如何通过HTTP对象在Linux服务器上使用ASP进行Web开发?
    在Linux服务器上使用ASP进行Web开发,需要使用HTTP对象。HTTP对象是Active Server Pages (ASP)的一个核心组件,它用于处理Web请求和响应。HTTP对象包含一组属性和方法,可以方便地实现与Web浏览器的通...
    99+
    2023-10-31
    linux http 对象
  • 如何在Laravel中使用Java容器进行同步?
    Laravel是一款非常流行的PHP框架,它的使用已经非常广泛。Java容器是一种非常强大的工具,可以帮助我们完成各种各样的任务。在本篇文章中,我们将会介绍如何在Laravel中使用Java容器进行同步。 简介 Java容器是一种非常流...
    99+
    2023-09-14
    容器 同步 laravel
  • PHP IDE与JavaScript:如何在容器中构建完美的开发环境?
    在当今的软件开发领域,构建高效的开发环境已经成为了一个必要的步骤。通过使用现代的开发工具和技术,我们可以更加高效地开发软件,并且在开发过程中避免很多常见的问题。在这篇文章中,我们将探讨如何使用PHP IDE和JavaScript在容器中构...
    99+
    2023-07-20
    ide 容器 javascript
  • 如何在容器中使用Go和Shell进行同步?
    在当今的软件开发中,容器技术已成为一个非常重要的概念。容器允许开发人员将应用程序打包在一个独立、可移植的环境中,这使得应用程序的部署和管理变得更加简单和高效。在这篇文章中,我们将探讨如何在容器中使用Go和Shell进行同步。 一、什么是容器...
    99+
    2023-09-22
    shell 同步 容器
  • 如何在NumPy容器中使用PHP开发技术?
    NumPy是一个用Python编写的科学计算库,它可以让我们更加方便地进行数学计算和数据分析。而PHP是一种流行的服务器端编程语言,常用于Web开发中。在本文中,我们将会探讨如何在NumPy容器中使用PHP开发技术。 首先,我们需要安装Nu...
    99+
    2023-07-24
    开发技术 numpy 容器
  • 如何在Java开发中使用Git进行版本控制?
    在Java开发中,版本控制是必不可少的一环。Git是目前最流行的版本控制工具之一,它能够有效地管理代码的版本、协作开发、追踪bug等。本文将介绍如何在Java开发中使用Git进行版本控制,并提供一些实用的操作指南和示例代码。 一、安装Git...
    99+
    2023-08-05
    git 开发技术 关键字
  • 从Go语言到Laravel:如何在Linux环境下使用Spring进行Web开发?
    在Linux环境下进行Web开发,有许多不同的语言和框架可以选择。其中,Go语言和Laravel是两个备受推崇的选择。但是,如果你想使用Java语言进行Web开发,那么Spring框架是一个不错的选择。 Spring框架是一个开源的Java...
    99+
    2023-10-08
    linux spring laravel
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作