在服务器部署Jenkins同步github代码(vue)

本文详细介绍了如何使用Jenkins自动同步GitHub代码,包括获取Hook、设置GitHubWebhooks、生成并添加凭证,以及创建Jenkins项目和配置构建步骤。主要问题在于网络状况导致的代码拉取失败。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先声明,使用 Jenkins 同步 GitHub 代码的时候会出现失败的情况,主要原因是拉取代码的时候拉不下来,这和墙有关...所以,是否选择 GitHub 大家自己决定。


一、使用 Jenkins 同步 GitHub 代码的原因

         手动打包丢在服务器上当然可以,但是太麻烦了,如果频繁的对代码进行改动和打包丢向服务器太花时间了,所以使用 Jenkins 来监控 GitHub 的动作,设置当代码 push 后,Jenkins 监控到这一动作,就会自动的拉取新的代码进行打包丢向服务器上。


二、获取 Hook

去系统中设置全局的github


三、找到 GitHub 配置模块

名称随便取一个,API URL 就是默认的,凭证后面再说。

Jenkins在关联 GitHub 之前,需要准备好 Hook ,这个在高级里面,勾选指定 Hook URL


四、GitHub 添加 hook

进入 GitHub ,选择需要同步的项目,点击 Settings,按照步骤添加 Webhooks

添加一个 hooks

(如果无法选择第三个也无所谓 不影响操作)

添加完成后将这个 URL 添加到上面 GitHub的 hook 里面去就可以了


五、添加凭证,生成sercret text

首先先进入 GitHub 的设置(Settings中),点击 Developer setting 选择 new Token 生成

 点击 classic的

 这里填写的名称就是要使用的 token,一般就写 Jenkins 就好了

选择

点击生成


六、回到系统管理 ——> 凭证管理 添加凭证

然后将 刚刚的 token 名称填写在 Secret 中(我写的就是 Jenkins)


七、创建项目

Dashboard ——> 新建任务

这个名称就是在 jenkins_home/workspace/里面创建的文件名称,打包好的文件就放在这里面

一步一步往下来

这里的 URL 就是你 GitHub项目的地址

源码管理选择 git ,分支默认选择 master(其他分支也可以,看情况填写)

构建触发器选择

构建环境选择

Build Steps 选择 shell 脚本

npm -v //查看npm版本
node -v //查看node版本
npm i //下载依赖
npm run build //打包
cd /home //切换到服务器下的home目录
rm -rf shopping/client/dist/* //删除 指定目录下dist里面的所有文件
cp -r /home/jenkins_home/workspace/shopping-client/dist/* shopping/client/dist //将 jenkins中打包好的dist文件都复制到指定目录下

其中 shopping/client/dist 是云服务器 home目录下创建的(已经用 nginx 配置好了)

下面的 /home/jenkins_home/workspace/shopping-client/dist/ 就是你打包好的文件存放在服务器中的路径。


八、构建

6次成功了1次......主要还是网不好,拉不下来,请大家慎重考虑 GitHub♥️

<think>好的,我需要帮助用户了解如何通过Docker部署Jenkins并与Vue项目集成的最佳实践。首先,我要整理用户提供的引用内容,确保信息的准确性和相关性。 首先,用户提到了安装Docker和Docker Compose,这是基础步骤。引用[1]和[3]都提到了下载Jenkins镜像,特别是推荐使用lts稳定版,并且可能需要国内镜像加速。这部分需要详细说明安装步骤,包括命令和注意事项。 接下来是配置docker-compose.yml文件,引用[1]和[2]提到需要挂载Jenkins的主目录和配置Docker socket,这很重要,因为Jenkins容器需要与宿主机Docker通信。这里需要给出具体的yml配置示例,并解释每个部分的作用。 然后是初始化Jenkins,包括解锁和管理员密码,这部分用户可能不熟悉,需要引导如何查看初始密码以及安装必要插件,比如Node.js插件(引用[4])。同时,配置全局工具,如Node.js路径,确保Vue项目构建时能使用正确的环境。 接下来是Vue项目的Docker部署部分,引用[5]展示了Dockerfile的内容,需要解释如何构建Nginx镜像,复制dist文件和配置文件。同时,引用[2]提到的创建nginx配置、Dockerfile和vue.sh脚本需要具体说明,确保用户知道这些文件的位置和作用。 配置Jenkins任务时,需要指导用户设置Git仓库、构建触发器(如Webhook),以及构建步骤,比如安装依赖、打包和调用部署脚本。这部分要分步骤详细说明,可能还需要涉及如何设置Gitee的Webhook(引用[5])。 最后是常见问题,比如权限问题、路径错误和镜像加速,这些都是实际部署中可能遇到的坑,需要提前预警并提供解决方案。例如,引用[3]提到的国内镜像加速问题,以及挂载目录的权限设置。 整个过程中,要确保LaTeX格式的正确应用,比如行内公式用$...$,独立公式用$$...$$,不过在这个技术教程中可能用到的数学公式较少,但如果有的话需要正确应用。同时,引用标记要自然添加在相关步骤的末尾,比如在提到安装插件时引用[4],配置Dockerfile时引用[5]等。 需要检查步骤之间的逻辑是否连贯,是否覆盖了用户可能需要的所有环节,从安装到配置,再到部署和问题排查。同时,生成的相关问题要围绕用户可能进一步想了解的内容,比如优化部署流程、权限管理、自动化测试集成等。 最后,确保回答结构清晰,分步骤说明,每个步骤都有对应的引用支持,语言简洁明了,符合中文表达习惯,避免技术术语过于晦涩,让用户能够一步步跟随操作完成部署。</think>### 使用 Docker 部署 Jenkins 并与 Vue 项目集成的实践指南 #### 一、环境准备 1. **安装 Docker 和 Docker Compose** 在 Linux 系统中执行以下命令安装 Docker 和 Docker Compose: ```bash curl -fsSL https://get.docker.com | bash -s docker sudo systemctl start docker && sudo systemctl enable docker sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose ``` 2. **拉取 Jenkins 镜像** 建议使用 LTS 稳定版镜像,国内用户可配置镜像加速: ```bash docker pull jenkins/jenkins:lts # 使用国内镜像加速可添加参数如 --registry-mirror=https://registry.docker-cn.com[^3] ``` --- #### 二、配置 Jenkins 容器 1. **编写 `docker-compose.yml`** 创建目录 `/docker/jenkins`,并编写以下内容: ```yaml version: '3' services: jenkins: image: jenkins/jenkins:lts container_name: jenkins ports: - "8080:8080" - "50000:50000" volumes: - /docker/jenkins/jenkins_home:/var/jenkins_home - /var/run/docker.sock:/var/run/docker.sock # 允许容器内操作宿主机 Docker[^1] restart: always ``` 启动容器:`docker-compose up -d` 2. **初始化 Jenkins** - 访问 `http://服务器IP:8080`,输入初始密码(通过 `docker logs jenkins` 查看)。 - 安装推荐插件,并创建管理员账户。 - **关键插件安装**:NodeJS(用于构建 Vue)、Git、Docker Pipeline[^4]。 3. **配置全局工具** 在 Jenkins 后台的 **全局工具配置** 中: - 指定 NodeJS 路径(例如 `/usr/local/nodejs`)。 - 确保 Docker 路径正确(默认 `/usr/bin/docker`)。 --- #### 三、Vue 项目 Docker 化部署 1. **编写 Dockerfile** 在 Vue 项目根目录创建 `Dockerfile`: ```dockerfile FROM nginx:alpine RUN apk add tzdata && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime COPY dist/ /usr/share/nginx/html/ COPY nginx.conf /etc/nginx/conf.d/default.conf EXPOSE 80 ``` **说明**: - `dist/` 为 Vue 构建后的静态文件目录。 - `nginx.conf` 需提前配置反向代理和缓存策略[^5]。 2. **创建部署脚本 `vue.sh`** 脚本内容示例(需赋予执行权限 `chmod +x vue.sh`): ```bash #!/bin/bash docker build -t vue-app:latest . docker stop vue-app && docker rm vue-app docker run -d -p 80:80 --name vue-app vue-app:latest ``` --- #### 四、配置 Jenkins 任务 1. **新建任务** - 选择 **Freestyle project**,关联 Git 仓库(如 Gitee 或 GitHub)。 - 添加构建步骤: ```bash npm install npm run build ./vue.sh # 调用部署脚本[^2] ``` - **触发器配置**:通过 Webhook 实现代码推送后自动构建(需在 Gitee/GitHub 中配置 Jenkins 地址)。 2. **权限管理** - 若出现权限错误,执行 `chmod 777 /var/run/docker.sock`(谨慎使用)。 --- #### 五、常见问题与优化 1. **镜像构建缓慢** 在 Dockerfile 中添加阿里云镜像源: ```dockerfile RUN echo "http://mirrors.aliyun.com/alpine/latest-stable/main/" > /etc/apk/repositories ``` 2. **Jenkins 数据备份** 定期备份 `/docker/jenkins/jenkins_home` 目录,可直接压缩并存储到云盘。 3. **版本升级** 修改 `docker-compose.yml` 中的镜像版本号,执行 `docker-compose pull && docker-compose up -d`。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值