当前位置: 首页 > wzjs >正文

长沙网站公司哪家好网站建设的基本准则是什么

长沙网站公司哪家好,网站建设的基本准则是什么,长沙开发网站的公司,济南建设管理局官网gitlabjenkins 实现前端项目打包成 docker 镜像;gitlab部署就不赘述了;因部署的gitlab版本的webhooks有问题,无法进行配置,所以文章的构建是手动触发的。并且nodejs部署应该也能跟docker一样直接安装进jenkins的镜像(但是多版本可能就有其他问…

gitlab+jenkins 实现前端项目打包成 docker 镜像;gitlab部署就不赘述了;因部署的gitlab版本的webhooks有问题,无法进行配置,所以文章的构建是手动触发的。并且nodejs部署应该也能跟docker一样直接安装进jenkins的镜像(但是多版本可能就有其他问题)。

Jenkins 镜像准备

拉取 jenkins 镜像
docker pull jenkins/jenkins:2.414.3-jdk17
  • 在镜像里面安装 docker
    • 在空文件下新建一个 Dockerfile 文件

      FROM jenkins/jenkins:2.414.3-jdk17
      USER root
      # 安装 Docker CLI(注意不装 daemon)
      RUN apt-get update && apt-get install -y docker.io
      USER jenkins
      
    • 构建包含 docker 的镜像,并导出

      docker build -t jenkins-with-docker:2.414.3-jdk17 .
      docker save jenkins-with-docker:2.414.3-jdk17 | gzip > jenkins-with-docker.tar.gz
      

联网环境下先运行官方 jenkins 容器(下载插件和工具环境)

  • 启动容器

    docker run -d --name jenkins -p 8928:8080 jenkins/jenkins:2.414.3-jdk17
    
  • 密码获取

    docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
    
  • 安装插件
    选择常用的插件,Nodejs、Git、Docker、Docker Pipeline 等。按需安装。(本想使用pipeline脚本,结果没用上,直接使用shell了)

  • 安装 node(这里使用 jenkins 自动下载;也可以手动部署到 jenkins 容器里)

    • 在管理页面的 Tools 里,添加 nodejs
      image

    • 回到首页新建一个自由风格的项目

      • 环境选择新建的 node 版本
        image

      • 构建步骤添加一个 shell
        image

      • 立即构建,执行完出现 node 和 npm 版本就成功了

  • plugin 和 tools 打包
    进入容器将/var/jenkins_home 路径下的 plugins 和 tools 都打成 tar 包(软链接不会丢失)
    本人使用 windows 系统,故直接在 docker-desktop 进入容器后下载两个文件夹在打包(npm 软链接丢失了)

离线环境内部署 jenkins

使用前面二次打包的镜像

  • docker-compose.yml

    version: "3"
    services:
    jenkins:image: jenkins-with-docker:2.414.3-jdk17container_name: jenkinsrestart: unless-stoppeduser: "1000:994"ports:- "8928:8080"- "50000:50000"volumes:- /home/opt/jenkins_home:/var/jenkins_home- /var/run/docker.sock:/var/run/docker.sockenvironment:- JAVA_OPTS=-Xmx1024mdeploy:resources:limits:memory: 2Gsecurity_opt:- seccomp:unconfined
    

    /var/run/docker.sock:/var/run/docker.sock为可以在 jenkins 里执行 docker 语句的关键,它可以链接 jenkins 宿主机的 docker,构建时可以拉取宿主机存在的镜像,并且打包后的镜像也会存在宿主机

  • 离线环境里启动 jenkins

    docker-compose up -d
    
  • 初始化后设置密码,参照前面

  • 将 plugins、tools 释放到/home/opt/jenkins_home 下

    # 将在线环境的plugins拷贝进离线环境后,需执行授权
    docker exec -u root jenkins chown -R 1000:1000 /var/jenkins_home/plugins# 离线环境手动添加的nodejs,没有权限,先执行查看权限是否有x(-rw-r--r--),没有继续执行下面的内容
    ls -l /var/jenkins_home/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/18.20.7/bin/node
    # 给node添加x权限
    chmod +x /var/jenkins_home/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/18.20.7/bin/node# 将联网环境下载的nodejs,在tools文件夹下,直接拷贝npm、npx的软件链接会丢失要重新指定(打tar包好像可以保留软链接),下一句修复软链接
    ln -sf /var/jenkins_home/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/18.20.7/lib/node_modules/npm/bin/npm-cli.js /var/jenkins_home/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/18.20.7/bin/npm
    # 给npm添加x权限
    chmod +x /var/jenkins_home/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/18.20.7/bin/npm
    
    • 配置nodejs版本,指定安装位置
      image
  • 准备完毕后,前端项目的 node_modules 也需要做缓存

    # 会在项目根路径生成.npm文件夹
    npm install --cache .npm# 将.npm打tar包
    tar -czvf .npm.tar.gz ./.npm
    

构建前端部署镜像

  • 在内网jenkins首页新建一个自由风格的项目

    • 配置gitlab
      image

    • 配置nodejs
      image

    • 构建步骤
      image

      cd /var/jenkins_home/workspace/test #进入Jenkins工作空间下test项目目录
      node -v #检测node版本(此条命令非必要)
      npm -v #检测npm版本(此条命令非必要)
      # 从.npm安装node_modules
      npm install --offline --cache .npm
      # vite命令需要权限
      chmod +x ./node_modules/.bin/*# 内存不足会打包失败
      NODE_OPTIONS="--max-old-space-size=4096" npm run build:prod
      #项目根目录有Dockerfile
      docker build -t frontend .
      
  • 构建
    在构建之前,需要将前面打包的.npm.tar.gz拷贝进/var/jenkins_home/workspace/test,test是jenkins项目名称,

# 解压
tar -xzvf .npm.tar.gz ./.npm

在项目页点击立即构建,等待结果即可。


文章转载自:

http://DuIiZjsU.ktnmg.cn
http://nQq3HlHg.ktnmg.cn
http://ddvjJgeI.ktnmg.cn
http://MXV0SYIc.ktnmg.cn
http://e2UGcqCG.ktnmg.cn
http://0yYWVNEF.ktnmg.cn
http://NN3MSCpf.ktnmg.cn
http://KqjytPZQ.ktnmg.cn
http://BdEZ0Ozy.ktnmg.cn
http://dDXBfrZ8.ktnmg.cn
http://0XtRvaC5.ktnmg.cn
http://5RrqHXLT.ktnmg.cn
http://HLQvjBtC.ktnmg.cn
http://f4H8yEsc.ktnmg.cn
http://NDtCCW53.ktnmg.cn
http://VFr6pjxC.ktnmg.cn
http://XGg6yrdJ.ktnmg.cn
http://HrTtHIYn.ktnmg.cn
http://acRG5Vrn.ktnmg.cn
http://i0CGtdEO.ktnmg.cn
http://H7t6xJxv.ktnmg.cn
http://FLq5t9u6.ktnmg.cn
http://KuTL3pkY.ktnmg.cn
http://WEB6ibcH.ktnmg.cn
http://KvZanUsa.ktnmg.cn
http://9oqkjjys.ktnmg.cn
http://Kp3kEmHB.ktnmg.cn
http://LovGDf1k.ktnmg.cn
http://njSPxAzW.ktnmg.cn
http://8c5cEhPp.ktnmg.cn
http://www.dtcms.com/wzjs/622849.html

相关文章:

  • 搞钱的路子网站微信开发者工具简介
  • 海外网站cdn加速下载做网站要给ftp密码吗
  • 网站开发主要学些什么网站后台密码怎么修改
  • 建设九九网站wordpress 无广告视频插件
  • 没有公司做网站电商网站策划
  • 普洱网站建设优化网站开发的一般步骤
  • 西双版纳网站开发哈尔滨行业网站建设策划
  • 制作触屏版网站开发优购物官方网站直播
  • 海安公司网站建设网站建设华网天下制作作
  • 亲子游网站建设内容做淘客都有什么网站
  • 在线生成网页工具龙岗网站关键词优化代理
  • 网站登录系统做外贸的零售网站
  • 网站开发的服务器wordpress固定连接不能访问
  • 织梦网络设计工作室网站模板域名需要备案吗?
  • 网站正在建设中 给你带来html5 移动网站
  • 山东建设执业资格注册中心网站西安整站优化
  • 网站文档设置index.php国内平面设计公司
  • 淘宝客做网站网页设计图标素材
  • 南通优化网站费用自创品牌策划方案范文
  • 建筑行业数据共享平台网站北京cms建站系统
  • 在线捕鱼网站建设seo网站提交
  • 人和兽做的网站视频乡镇网站建设中的问题
  • ppt模板免费下载网站不用登录企业网站空间域名
  • 商城网站建设 亚马逊网站建设知识点
  • 学校网站建设市场分析网站排名上升 优帮云
  • 申请域名 建设网站网站的权限设置
  • 网站维护是什么html5网站后台管理系统
  • 无锡加盟网站建设百度的网站网址
  • 菏泽市城乡建设局网站成都网址建设
  • 免费下ppt课件的网站熬夜必备黄