惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Microsoft Azure Blog
Microsoft Azure Blog
大猫的无限游戏
大猫的无限游戏
月光博客
月光博客
V
V2EX
PCI Perspectives
PCI Perspectives
Latest news
Latest news
博客园 - 三生石上(FineUI控件)
C
CERT Recently Published Vulnerability Notes
W
WeLiveSecurity
Last Week in AI
Last Week in AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
P
Palo Alto Networks Blog
T
The Exploit Database - CXSecurity.com
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
WordPress大学
WordPress大学
V
Vulnerabilities – Threatpost
H
Heimdal Security Blog
Attack and Defense Labs
Attack and Defense Labs
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Hacker News: Ask HN
Hacker News: Ask HN
博客园 - 叶小钗
V
Visual Studio Blog
Jina AI
Jina AI
P
Proofpoint News Feed
罗磊的独立博客
SecWiki News
SecWiki News
J
Java Code Geeks
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
L
LINUX DO - 热门话题
Security Archives - TechRepublic
Security Archives - TechRepublic
The Hacker News
The Hacker News
Hugging Face - Blog
Hugging Face - Blog
N
News and Events Feed by Topic
NISL@THU
NISL@THU
T
Tailwind CSS Blog
T
Tenable Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Recent Announcements
Recent Announcements
H
Hacker News: Front Page
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
T
Tor Project blog
宝玉的分享
宝玉的分享
Help Net Security
Help Net Security
S
Security Affairs
Microsoft Security Blog
Microsoft Security Blog
Google DeepMind News
Google DeepMind News
F
Fortinet All Blogs
G
GRAHAM CLULEY

博客园 - 小虫1

AI 视频修复技术落地对比:四款去水印工具的技术路线解析 浏览器端本地视频处理实测:4 种去水印方案的技术原理与效果对比 前端开发者视角:一个视频去水印工具的技术猜想 记一次本地视频去水印踩坑经历——从本地部署到在线工具 前端实现视频去水印的几种技术方案对比 豆包视频去水印工具横向测评:麻雀 AI 工具箱与 3 款海外工具实测对比 视频去水印工具实战横评:少谈“黑科技”,多聊实际能用的 2026 在线视频去水印工具实测:4 种方案对比,本地处理首选麻雀AI工具箱 豆包生成的图片,怎么去水印? 2026年,GEO到底怎么做?-麻雀GEO Topaz Video AI的替代品 -麻雀AI视频修复工具,免费、安全、高效的Topaz替代选择 视频清晰度增强网站-麻雀AI视频修复工具 vue2 函数式调用一个弹框组件 跟框架无关的前端换皮肤 前端请求跨域,解决方案 ssh2-sftp-client 上传文件至服务器 vue项目下自己封装上传文件功能 beego 注册路由失效404,commentsRouter.go没有生成 前端代码实现整体缩放网页,做到缩放分辨率的效果 mkdocs生成的网站为何很慢 重新搞nginx vue公共布局组件Layout引入 重新认识布局:你真的懂flex吗 重新认识布局:html和body元素 重新认识布局:3d空间中的css盒子 重新认识布局:百分比单位 重新认识布局:标准流,浮动,定位的关系 微信小程序 等宽不等高瀑布流
前端 docker jenkins
小虫1 · 2022-02-15 · via 博客园 - 小虫1

1.为什么使用jenkins
  jenkins是一个自动化构建部署的工具,用java语言写的。
  对前端而言,不用jenkins,也可以实现本地打包,ssh工具上传至服务器部署。
  但是,有问题:
    1).每次打包部署需要敲命令和记住流程
    2).团队人多的情况下,不是每个人都有权限进入服务器
    3).当构建需要的npm版本不小心变动,可能构建结果有问题。

2.为什么选用docker的方式
  无论window,macos还是linux,jenkins官网(https://www.jenkins.io/download/)都提供了软件下载包。
  但是最方便的无疑是docker方式,全新的环境(容器),再也不用担心本机上环境会不会有冲突的问题。

3.具体步骤:
  如果用的是window环境,需要装个docker-desktop,docker相关的环境都有了。
  本文是linux centos 环境 root用户
  1)安装docker 安装 docker-compose,参见官网:https://docs.docker.com/engine/install/centos/
  2) 生成docker-compose.yaml:(cat命令,本地生成拖到linux等都行)

version: '3'
services:
  docker_jenkins:
    user: root
    restart: always
    image: jenkins/jenkins:lts
    container_name: docker_jenkins
    environment:
      - TZ=Asia/Shanghai
    ports:
      - '8080:8080'
      - '50000:50000'
    volumes:
      - ./data:/var/jenkins_home
      - /usr/bin/docker:/usr/bin/docker
      - /usr/lib/x86_64-linux-gnu/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7


  3)启动docker


  -d是后台启动docker的意思,查看启动的容器,客户以看到容器ID等信息:


  想要进入启动的docker容器:

docker exec -it 容器name或者容器ID /bin/bash

  这一步其实没必要 docker pull jenkins/jenkins,因为当你运行docker-compose up -d 会从dockerhub上拉这个镜像。

  4)输入网址,网页界面配置jenkins:
  jenkins初始化的密码,可以这么查看:


  插件安装选择推荐插件,结束后有个设置用户名密码,别跳过设置下。
  对于前端而言,打包vue react项目需要node环境,npm命令,

  右上方有个盾佩图标,点进去看到Manage Jenkins,点进去在插件里找到Node插件,安装,不需要重启

  回到全局配置,这时候就有node配置项目了,选择node的版本,不建议选最新版本,推荐选14版本,最新版本出现过 npm run build停止不动的情况。这一步我们不需要安装,只需要选版本就行。

  5)jenkins网页构建任务

    (1)填写git仓库地址,凭证

    凭证建议用privete key。进入docker容器里生成ssh公钥私钥,不用担心生成文件路径的问题,在任何目录下执行ssh-keygen,都会生成在当前用户的.ssh文件夹下,本文的是在/root/.ssh/下:

docker exec -it 容器name或者容器ID /bin/bash

      (2)勾选构建环境下的:

  

     (3)构建 执行shell

node -v
npm -v
npm config set registry https://registry.npm.taobao.org
npm i
npm run build

  (4)构建好了之后,dist文件夹传到目标服务器上

    如果构建好的,本地nginx就可以用,就没必要上传了。

    很多播客推荐插件 publish over SSH

    但是,2022年1月,publish over SSH因为安全原因,jenkins官方下架了

    采用scp免密码方式。具体自行搜索。

注意点:

  刚开始接触的同学,可能想不通为什么在docker-compose.yaml里有一项 volumn,实际上不写这一项会出大问题。因为jenkins的配置不会保存在docker镜像里,只能通过本地挂载卷的方式存储jenkins,踩了不少坑。

  部分同学看到的jenkins页面设置是英文的,这个只需要重启jenkins即可。ip:8080/restart