Jenkins 是一个开源的自动化服务器,主要用于实现 持续集成(CI) 和 持续交付/部署(CD),其核心作用在于通过自动化流程提升软件开发和交付的效率与质量

一、环境准备 1. 安装 Docker(如已安装可跳过)

sudo yum install -y docker
sudo systemctl enable docker
sudo systemctl start docker
//安装完成之后可以验证下是否成功
docker -v

二、创建 Jenkins 数据目录并设置权限

mkdir -p /data/jenkins_home 
chown -R 1000:1000 /data/jenkins_home
chmod -R 755 /data/jenkins_home

 

三、关闭 SELinux(银河麒麟系统限制)

 setenforce 0
# 永久关闭(可选)
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

四、启动 Jenkins 容器(推荐带 --privileged)

//安装
docker pull jenkins/jenkins:lts
//启动
docker run -d \ --name jenkins \ --network host \ --privileged \
-v /data/jenkins_home:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
--memory=4g \ jenkins/jenkins:lts

//查看docker 镜像状态
docker ps
//查看日志
docker logs -f jenkins

 

 

五、获取初始密码并访问Jenkins

 docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

  http://<你的服务器IP>:8080

六、Jenkins 初始配置建议

安装推荐插件 创建管理员账号 安装以下插件(用于 Git 和自动部署):

Git Pipeline SSH Agent Docker Pipeline Blue Ocean(可选)

完成之后设置密码,界面如下

七、配置自动化打包部署 Git 项目

示例:自动拉取 Git 仓库,构建并部署(基于 Pipeline) 新建任务 → 类型选择 “Pipeline” 在 “Pipeline 脚本” 中填入如下示例代码:

pipeline {
agent any

tools {
nodejs 'NodeJS 20.18.3'
}

environment {
DEPLOY_DIR = "/var/jenkins_home/testapp"
}

stages {
stage('拉取代码') {
steps {
git credentialsId: '6c4fe15c-278e-4d6a-bb93-327b5f605d7311',
url: 'https://gitee.com/test/test.git',
branch: 'master'
}
}

stage('安装依赖') {
steps {
sh '''
npx yarn
'''
}
}

stage('构建项目') {
steps {
sh 'npx yarn build'
}
}

stage('部署到服务器') {
steps {
sh '''
mkdir -p "$DEPLOY_DIR"
rm -rf "$DEPLOY_DIR"/*
cp -r "$WORKSPACE/dist/"* "$DEPLOY_DIR/"
'''
}
}

}

post {
always {
echo "构建+部署完成,请访问部署服务器的 5173 端口查看页面"
}
}
}

 

八、使用 SSH 发布部署(选配)

如果部署到远程服务器: 安装 SSH Agent 插件 在 Jenkins 中添加

“凭据(Credentials)” → SSH 密钥 在 pipeline 脚本中用 sshagent 块包裹部署逻辑

git 拉取凭据耶根据上面的方式一样获取进入系统管理

选择系统凭据创建

保存即可

这个对应

这个即可获得拉取相应项目权限

银河麒麟系统 jenkins docker 部署 自动化打包部署git 项目的更多相关文章

  1. 使用jenkins实现前端自动化打包部署(Linux版本)

    我们这边好多小组觉得每次测试人员叫我们开发打包部署到某某个测试环境人工操作比较麻烦,因为他们想做到只专注于开发,不管这些琐碎的事.于是有个组长问我前端能不能用Jenkins去执行这一个固定的流程,因为 ...

  2. 解放双手 | Jenkins + gitlab + maven 自动打包部署项目

    前言 记录 Jenkins + gitlab + maven 自动打包部署后端项目详细过程! 需求背景 不会偷懒的程序员不是好码农,传统的项目部署,有时候采用本地手动打包,再通过ssh传到服务器部署运 ...

  3. Jenkins+svn+ftp自动化发布asp.net项目

    今天将自己所掌握的(Jenkins+svn+ftp自动化发布asp.net项目)知识分享给大家,希望能帮组到大家: (1)先下载Jenkins并安装: (2)安装.Net所需要的插件: (3)配置插件 ...

  4. Jenkins实现Android自动化打包

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/77102359 本文出自[赵彦军的博客] 1.Tomcat 进入 https://t ...

  5. 使用Jenkins集成和自动化打包资料

    1.手把手教你利用Jenkins持续集成iOS项目 http://www.jianshu.com/p/41ecb06ae95f 2.Jenkins+ Xcode+ 蒲公英 实现IOS自动化打包和分发 ...

  6. Docker:银河麒麟系统/Ubuntu/arm64-离线安装Docker,配置自启

    下载离线包 离线安装包地址:https://download.docker.com/linux/debian/dists/stretch/pool/stable/ 注意: amd64是处理器64位 复 ...

  7. jenkins自动化打包部署

    请参考: http://m.blog.csdn.net/article/details?id=50518959 1.启动 jenkins.war ,打开首页  192.168.158.129:8080 ...

  8. 关于自动化打包部署Jenkins的使用和配置

    (未写完整,待续...) 名词解释: 1.Jenkins中对svn进行操作,可通过插件和脚本两种方式进行. 插件方式 在插件管理中安装"Subversion Plug-in",即可 ...

  9. Asp.net Core Jenkins Docker 实现一键化部署

    写在前面 在前段时间尝试过用Jenkins来进行asp.net core 程序在IIS上面的自动部署.大概的流程是Jenkins从git上获取代码 最开始Jenkins是放在Ubuntu的Docker ...

  10. docker + spring boot 打包 部署。

    docker 安装 什么的 就不一一介绍了 不会安装百度一找一堆. 我这直接上代码. 首先你要有个spring boot项目. 然后打包.打包很简单 我打包的是 jar文件.直接在pom.xml文件里 ...

随机推荐

  1. 单机stome安装

    先安装zookeeper,参考本文件夹下安装文档 启动zookeeper 1.解压stome /opt/Server目录下 tar -zxf apache-storm-1.1.0.tar.gz 2.修 ...

  2. EasyExcel 通过模板填充数据

    EasyExcel 通过模板填充数据两种方式:1.直接通过模板填充.2.通过IO流填充. 模板示例 注意:单个字段填充只写字段名即可,数据集填充需要在字段前加 . {title} 姓名 昵称 手机号 ...

  3. .gitignore 文件添加新项后需要做的处理

    有问题敬请评论告知作者. .gitignore 文件添加新项后,已追踪的文件仍然会被追踪.(只要执行过 git add 的文件就会被追踪,追踪它的修改) 怎么取消追踪呢? 想要取消文件追踪可以使用命令 ...

  4. WPF的Dispatcher类里的BeginInvoke,Invoke,InvokeAsync

    原文地址:https://blog.csdn.net/niuge8905/article/details/81117989 深入了解 WPF Dispatcher 的工作原理(Invoke/Invok ...

  5. Postman 调试 SignalR 发布的wss接口

    微软官网的SignalR例子拿来跑即可 Postman 调试SignalR 发送post请求获取token 将获取到的connectionToken加入ws链接 点击 Connect 发送第一条协商消 ...

  6. Powershell实现圆缩小放大 (实时刷新窗口)

    使用Powershell,创建实时刷新的窗口,绘制图形,这里以圆作为例子,做缩小放大动画. [分析] Powershell是windows内置的自动部署平台,功能强大在于可以调取.net框架,因此,即 ...

  7. OERV兴趣探索:模拟器移植

      最近看了很多开源项目,主要都集中在模拟器方面,我指的是游戏模拟器比如GameBoy或者PlayStation这一类.现在想玩这系列的游戏可以在手机或者电脑下载相应的模拟器,并且获取对应的ROM文件 ...

  8. vue3项目中环境变量使用技巧

    在Vue 3项目中,环境变量是管理不同环境下配置的强大工具.以下是一些关于如何在Vue 3项目中有效地定义.访问和使用环境变量的技巧,以及如何在不同环境下管理这些变量的最佳实践. 一.定义环境变量 在 ...

  9. AI与.NET技术实操系列(四):使用Semantic Kernel和DeepSeek构建AI应用

    引言 在人工智能技术飞速发展的今天,大型语言模型(Large Language Models, LLMs)已成为智能应用开发的核心驱动力.从智能客服到自动化内容生成,LLMs的应用正在深刻改变我们的工 ...

  10. Pycharm pull 报错“Pull Failed: refusing to merge unrelated histories”

    分析: 在github已将建立仓库 pycharm clone到本地 pycharm pull 在第3步报错 "Pull Failed: refusing to merge unrelate ...