从idea推送代码到github,到jenkins部署,再到从github下载代码完成构建的全部详细操作流程

2023-05-16

目录

1、idea推送代码到github

1.1、github创建

1.2、git下载与安装(windows)

1.3、idea关联github

1.3.1、windows生成公私钥

1.3.2、idea关联github

2、jenkins部署

2.1、jenkins启动与插件的下载

2.2、jenkins选择插件版本并重新安装

2.3、Jenkins从github拉取代码并自动构建


1、idea推送代码到github

1.1、github创建

1.github地址:GitHub: Where the world builds software · GitHub

2.注册并登录:

3.创建仓库:点击右上角的头像左侧的“+”  ->  “New Repository”按钮新建仓库

1.2、git下载与安装(windows)

1.git下载地址:Git for Windows

国外下载较慢,可以从国内镜像下载:CNPM Binaries Mirror

2.安装:默认一直下一步即可。

以下为每一步的详细说明:

  1. 如果你开启了“用户权限控制”功能, Windows 则要求你核实该程序的身份,并询问你是否允许它对设备进行更改。我们点击“是”或按下 ALT + Y 同意该请求以继续。
  2. 许可协议。 Git 是以 GPL V2 开源协议发布的,如果你要使用该软件产品则需要同意该协议条款,点击 “Next” 按钮以继续。
  3. 指定 Git 的安装位置。如果需要修改安装位置则可点击 “Browse” 按钮。点击 “Next” 按钮以继续。
  4. 选择需要安装的附加组件。可根据需求选择需要的附加组件和任务,如 GUI、文件关联等。。点击 “Next” 按钮以继续。
  5. 指定“开始”菜单文件夹。点击 “Next” 按钮以继续。
  6. 选择 Git 默认使用的编辑器。如果你更偏爱某个代码编辑器的话,可以选择那个代码编辑器,作为 Git 使用的默认文本编辑器。 点击 “Next” 按钮以继续。
  7. 调整新存储库默认分支的名称。当使用 “git init” 初始化新仓库时,决定默认分支名称。可根据需求修改。点击 “Next” 按钮以继续。
  8. 根据你使用 Git 命令的方式调整环境变量。点击“next” 按钮以继续。
  9. 选择 SSH 可执行文件。点击 “Next” 以继续。
  10. 选择 HTTPS 传输后端。 点击 “Next” 以继续。
  11. 配置行尾字符转换。由于一些原因,在 Windows、Unix(包括 Linux)、MacOS 下,行尾字符组合均不同,需要我们根据项目规范来选择合适的行尾字符转换配置。点击 “Next” 按钮以继续。
  12. 配置 Git Bash 使用的终端仿真器。点击 “Next” 按钮以继续。
  13. 选择 “git pull” 拉取命令的默认行为。点击 “Next” 按钮以继续。
  14. 选择凭证助手。点击 “Next” 按钮以继续。
  15. 启用其他特性,如文件系统缓存、符号链接。 点击 “Next” 按钮以继续。
  16. 选择启用实验性功能。这是安装向导的最后一步, 点击 “Install” 按钮开始安装。
  17. 进入 Git 安装过程。稍等片刻吧。
  18. Git 安装完成。点击 “Finish” 按钮完成关闭安装向导。

3.设置用户名与邮箱

右键选择git bash,在终端中输入以下内容,注意替换“你的用户名”、“你的邮箱地址”,没有双引号

git config --global user.name 你的用户名
git config --global user.email 你的邮箱地址

1.3、idea关联github

1.3.1、windows生成公私钥

1.进入windows的C盘,user目录下,开启显示隐藏文件夹,找到.ssh目录,查看目录中是否有known_hosts文件,若有删除即可。

2.在git bash中输入命令,将“your@email.com”替换成之前你设置的邮箱地址,此处有双引号

ssh-keygen -t rsa -C "your@email.com"

3.然后出现:

Generating public/private rsa key pair.

Enter file in which to save the key (/Users/your_user_directory/.ssh/id_rsa):

一直按回车即可,然后在.ssh目录下会出现一对公私钥文件,id_rsa和id_rsa.pub

4.用记事本打开并复制id_rsa.pub里面的内容,进入到github里,点击右上角头像,点击“Settings”,点击左侧菜单栏“SSH and GPS keys”,点击“New SSH key“按钮,将复制到内容粘贴到key输入栏中,title任意填写,保存

5.在git bash中输入ssh -T git@github.com命令,输入yes回车即可

1.3.2、idea关联github

1.在idea中设置git:在File–>Setting->Version Control–>Git–>Path to Git executable选择你的git安装后的git.exe文件,然后点击Test,测试是否设置成功

2.点击菜单栏VCS,点击Get from Version Control

3.左侧选择GitHub,右侧点击Log in via GitHub,此时会弹出一个网页

4.将url复制,到github登录的浏览器,新开一个页签,粘贴,点击Authorize in Github,出现成功提示后,即可关闭该页签

 5.回到idea,此时会显示github的账号信息

6.点击上方菜单栏VCS,点击Enable Version Control Integration,弹框中选择git,点击ok,此时idea上方会多出一个git菜单

7.复制github仓库的SSH地址。点击github中右上角的头像,点击“Signed in as ...”,点击“Repositories”选项卡,点击仓库,复制SSH地址

8.更换仓库。点击菜单栏的“git”,点击“Manage Remotes”,弹框中点击“+”,将github仓库的SSH粘贴到此处,即可成功。

备注:如果失败,请检查是否在本地生成ssh,github的SSH是否添加公钥。参照1.3.1

9.提交代码。右键项目->Git->Add,然后右键项目->Git->Commit Directory,输入内容,点击Commit and Push即可推到github仓库

到此为止,完成了git安装、远程仓库的创建、代码的提交,接下来该部署jenkins了,让jenkins实现定时从远程仓库拉取代码,并自动构建。

2、jenkins部署

2.1、jenkins启动与插件的下载

jenkins最麻烦的应该就是插件下载了,不替换成清华的镜像,插件几乎下载不下来。

1.jenkins国内镜像下载地址,下载war包即可:Index of /jenkins/war-stable/latest/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

2.启动jenkins。java -jar jenkins.war --httpPort=30001,此处使用java -jar方式,也可以放到tomcat的webapps下,启动tomcat后会自动解压war包,生成jenkins目录,然后访问localhost:8080/jenkins即可

3.jenkins启动后,会在user下面创建.jenkins文件夹用来保存数据,下图为 mac的路径,windows则是在C盘的User下

4.打开updates/default.json文件

将全部“http://www.google.com/” 替换成 “http://www.baidu.com/”

将全部“https://updates.jenkins.io/download” 替换成 “http://mirrors.tuna.tsinghua.edu.cn/jenkins”

此举是为了下载插件的时候使用国内源进行下载,避免下载不下来的情况发生

5.修改hudson.model.UpdateCenter.xml文件,将https://updates.jenkins.io/update-center.json替换成https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

此步骤是为了防止启动jenkins较慢或启动不起来。然后重启jenkins。

6.在浏览器输入http://localhost:3001,进入到jenkins的访问页面。按照提示路径,将initiaAdminPassword文件中的内容粘贴到管理员密码框,点击继续

 7.点击安装推荐的插件,我们之前替换updates/default.json文件就是为此做铺垫的。下载的插件会放到.jenkins/plugins目录中

8.可能会有部分插件安装失败,这是由于插件版本过高,而jenkins版本较低导致,我们点击继续

9.输入用户名、密码、确认密码,作为下次jenkins的登录密码,点击保存并完成

10.实例配置点击保存并完成即可

11.进入到jenkins的主页面,点击左侧导航栏的Manage Jenkins,上面一些爆红的就是刚才我们安装失败的插件,可以进行安装

2.2、jenkins选择插件版本并重新安装

以其中一个插件举例,Matrix Project Plugin需要Jenkins(2.359)版本,而我的jenkins版本只有2.346,即使是latest,也达不到插件要求的版本

1.进入Jenkins Plugins 查询所需的插件并下载。输入插件名称,搜索,点击Releases,找到之前的插件版本

2.直接点击版本号,即可下载

3.在jenkins中点击Manage Plugins,进入Plugin Manager,点击选项卡的“高级”,在Deploy Plugin中上传刚才下载的插件,点击Deploy即可完成。

 

4.重启jenkins后,再次进入到Manage Jenkins,我们可以看到,报错少了一个,就是刚才的插件生效了。我们也可以将下载的.hpi插件放到.jenkins/plugins目录下,重启也会生效。将所有报错的插件按照此步骤进行替换。

2.3、Jenkins从github拉取代码并自动构建

1.由于我的github项目是maven工程,所以要在jenkins中下载maven插件。在Plugin Manager中搜索maven,勾选第一个,下载安装并重启。

2.保证本地配置好maven环境,输入mvn -v出现下图即可。

 3.点击jenkins左侧菜单栏的“新建Item”->输入任务名称->点击“构建一个maven项目”->点击确定

4.为了从git上拉取代码,在源码管理选择Git,Repository URL输入github项目仓库的SSH地址,Credentials点击“添加”

将类型改为SSH Username with private key,username随意输入,

private key勾选Enter directly,在key中点击Add按钮,将本地.ssh目录中的id_rsa里面的内容粘贴过去,点击添加按钮,然后Credentials中选择刚才添加的凭证

5.Build中点击the tool configuration,跳转到新的页面,进行maven配置

最下方找到maven,点击“新增maven”,名称任意输入,选择版本后点击保存。

 从github拉取后的项目,会有项目名称,所以要进入到项目中才能找到pom.xml文件,所以我的Root POM是/apitest02/pom.xml,apitest02就是我github的项目名称。

6.由于我的项目需要执行java -jar运行,所以在Post Step中选择Excete shell,输入

 默认是在当前item路径下,所以先进入apitest02目录,再进入maven构建后的target目录,执行java -jar命令即可

 最后点击保存,拉取的项目会在./jenkins/workspace目录下

 7.最终执行构建。进入任务,点击左侧的Build Now,进行构建。由于我的代码是从数据库读取接口,然后调用接口进行断言,最后将结果输入到文件并发送邮件,所以构建后最终会收到邮件。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从idea推送代码到github,到jenkins部署,再到从github下载代码完成构建的全部详细操作流程 的相关文章

  • 服务器初次跑YOLO数据集总结

    服务器跑模型时候遇见的部分问题 一 Pycharm 1 torch版本号相比于YOLO版本号过高 现象 xff1a Runtime xff1a result type float can t be cast to the desired o
  • 技术招聘漫谈 | Java工程师招聘难?你可能需要这份独家指南

    两周前 xff0c 我们发布了一篇关于怎样招聘前端工程师的文章 xff08 点击此处顾 xff09 在文章中 xff0c 我们分析了前端岗位有哪些必不可少的考察要点 xff0c 以及如何在面试中考核对方是否能写出高质量的代码 xff0c 这
  • 技术招聘演化论:怎样从纸上答题升级到实战编程?

    创新赛道的出现 一些企业或许已经对招聘管理系统 xff08 Applicant Tracking System xff0c 简称 ATS xff09 有一定了解 xff0c ATS 可以帮助企业管理招聘流程 xff0c 其中包括发布招聘信息
  • 一次查找分子级Bug的经历,过程太酸爽了

    Debugging is like trying to find a needle in a haystack except the needle is also made of hay Debug调试就像是在大片的干草堆中找针一样 xff
  • k8s 内部实现服务注册和服务调用

    k8s内部的服务注册主要是依靠几个组件 coreDns service和pod的标签选择器 服务注册的流程 pod创建完以后 xff0c 一般我们都会打算一组标签 xff0c 标签是key value形式的 如下 apiVersion v1
  • 使用Jetson Nano向PX4提供T265位置信息,实现室内定点飞行

    使用的Jetson Nano镜像版本 xff1a 4 6 xff08 2021 08 04发布 xff09 NVIDIA官方镜像下载链接 1 安装 ROS Melodic 参考官网安装教程 设置sources list sudo sh c
  • 结束,也是开始。

    三年时光转眼即逝 xff0c 临到毕业才幡然醒悟 xff0c 自己掌握的专业技能太少 xff0c 最后几个月才养成了几个好习惯 在上班利用空闲时间多学学其他的技术 xff0c 希望自己可以不停的努力 xff0c 充实自己的每一天
  • win10 和ubuntu双系统设置启动顺序和时间

    安装了ubuntu18 04后 xff0c 默认启动项是ubuntu xff0c 如果希望默认启动项是windows xff0c 修改方法如下 xff1a 1 进入Ubuntu系统 xff0c 打开终端 xff0c 输入 sudo gedi
  • 论 "张筱雨"

    当今网络谁最红 xff1f 当今网络谁最裸 xff1f 当今网络谁征服了大多数男人们的眼球 xff1f 当今网络谁最具创新 xff0c 引领时尚潮流 xff0c 当今网络谁敢和日本AV女优叫板 那么她就是 张筱雨 张筱雨 xff01 xff
  • PostgreSQL 性能优化--参数的配置

    nbsp nbsp nbsp PostgreSQL的配置参数作为性能调优的一部分 起着重要的位置 有时候一个简单的配置参数就会觉得应用的性能 因此有必要简单了解下其相关的配置参数 查询Linux服务器配置 在进行性能调优之前 需要清楚知道服
  • EJB指导教程前言

    前言 xff1a 本人将通过EJB tutorialspoint 网站学习EJB相关知识 xff0c 并将一部分知识翻译整理写为博客 xff0c 加入自己的见解 xff0c 供分享和交流 一 EJB指导 企业级Java Beans EJB
  • RTOS概念介绍

    事件标志组 事件标志组是实现多任务同步的有效机制之一 也许有不理解的初学者会问采用事件标志组多麻烦 xff0c 搞个全局变量不是更简单 xff0c 其实不然 在裸机编程时 xff0c 使用全局变量的确比较方便 xff0c 但是在加上 RTO
  • EJB概述

    EJB含义为企业Java Beans EJB是J2EE平台的重要组成部分 开发者可以在J2EE平台使用基于组件的体系结构 xff0c 该结构目的为企业级应用程序提供多层 分布式和高度事务性等特性 EJB提供了一种开发和部署基于组件的企业应用
  • EJB - 环境设置

    一 本博客将根据tutorialspoint文档的指导进行EJB环境的设置 二 系统需求 EJB是Java的一个框架 xff0c 所以第一个要求是在您的机器上安装一个Java开发工具包 xff08 JDK xff09 JDK1 5 or a
  • EJB--应用创造上

    为了创建一个简单的EJB模块 xff0c 我们将使用NetBeans New project 向导 在下面给出的示例中 xff0c 我们将创建一个名为Component的EJB模块项目 一 创建项目 在NetBeans IDE中 xff0c
  • EJB-应用创造中

    一 构建项目 在项目资源管理器窗口中选择EjbComponent项目 右键单击它打开context菜单 选择clean and build 您将在NetBeans控制台输出中看到以下输出 ant f C EJB EjbComponent c
  • EJB--应用创造下

    创建客户端以访问EJB 一 创建客户端以访问EJB 在NetBeans IDE中 xff0c 选择File gt New Project gt 在 Java类别 下选择 项目类型 xff0c 将 项目类型 选为 Java应用程序 单击下一步
  • iptables 原来这么简单

    你在找一个完整的iptables教程吗 xff1f 在本文中 xff0c 我们将向您展示如何在linux系统上安装和使用iptables 通过了解这个Linux防火墙工具 xff0c 您可以使用命令行界面更好的保护Linux xff0c 免
  • zabbix 事件通知--邮件媒体配置

    一 概述 假设我们已经配置了一些项 xff08 items xff09 和触发器 triggers xff0c 并且现在由于一些事件而引起触发器的状态改变 xff0c 那么现在是时候考虑去做一些操作了 首先 xff0c 我们不想一直盯着触发
  • zabbix 事件通知--警告脚本配置

    一 概述 假设我们已经配置了一些项 xff08 items xff09 和触发器 triggers xff0c 并且现在由于一些事件而引起触发器的状态改变 xff0c 那么现在是时候考虑去做一些操作了 首先 xff0c 我们不想一直盯着触发

随机推荐

  • shell 脚本统计文件数

    下面这段代码展示了通过shell 脚本统计某个目录下的文件数 xff0c 并输出到文本文件中 bin sh declare x num1 61 0 read dir for file in 96 ls a 1 96 do echo 1 if
  • 文件传输命令(持续更新中)

    文件传输是非常常用的命令 xff0c 今天小编就带大家整理一下自己常用的一些文件传输命令 xff1a rsync 命令 rsync是可以实现增量备份的工具 配合任务计划 xff0c rsync能实现定时或间隔同步 xff0c 配合inoti
  • 滑模控制

    滑模控制 举例说明滑模控制 对于一个典型的二阶系统 x 1 61 x
  • wildfly软件介绍

    WildFly是什么 xff1f Wildfly是一个开源的基于JavaEE的轻量级应用服务器 xff0c 目前 xff0c 最新版本是Wildfly 15 xff0c wildfly遵循LGPL2 1许可 xff0c 意味着可以在任何商业
  • JDK介绍与安装

    xff08 一 xff09 JDK 简介 JDK Java SE Development kit JDK java开发工具包 JDK 全称Java SE Development kit JDK xff0c 即java 标准版 开发包 xff
  • 一个简单的java程序

    xff08 一 xff09 简单的java程序 public class MyFirstApp public static void main String args System out print 34 Hello world 34 x
  • Java 注释

    xff08 一 xff09 注释的重要性 编写程序的时候 xff0c 总需要为程序添加一些注释 xff0c 用以说明某段代码的作用 xff0c 或者说明某个类的用途 xff0c 某个方法的工能 xff0c 以及该方法的的参数和返回值的数据类
  • java 标识符,分隔符,关键字

    xff08 一 xff09 标识符的介绍 Java语言中 xff0c 对于变量 xff0c 常量 xff0c 函数 xff0c 语句块也有名字 xff0c 我们统统称之为Java标识符 标识符是用来给类 对象 方法 变量 接口和自定义数据类
  • Java基本数据类型

    这节博客将向大家讲解java的数据类型 xff0c 在讲解数据类型前 xff0c 先来看一下变量 xff08 一 xff09 变量 java语言是强类型语言 xff0c 强类型包含两方面的含义 1 xff1a 所有的变量必须先声明 xff0
  • 自动类型转换

    xff08 一 xff09 自动类型转换 在java 程序中 xff0c 不同的基本类型的值经常需要进行相互类型转换 xff0c 类型转换分为自动类型转换和强制类型转换 布尔类型boolean占有一个字节 xff0c 由于其本身所代码的特殊
  • Eclipse中设置Tomcat服务器

    01首先打开eclipse软件 xff0c 点击顶部的windows菜单 xff0c 选择下拉菜单中的preferences选项 xff0c 如下图所示 02在弹出的Preference界面中选择Server 找到左侧的Runtime En
  • games系列学习 -- Möller Trumbore 算法

    M ller Trumbore 算法 是三角形与射线 光线 之间判定是否相交的快速算法 利用了重心坐标来表示三角形 首先假设射线的方程 xff1a O为发射点 D为方向向量 再假设三角形平面方程 xff1a b1 b2 1 b1 b2 分别
  • 使用手机摄像头实现视频监控实时播放

    使用手机摄像头实现视频监控实时播放 一 概述 视频监控实时播放的原理与目前较为流行的直播是一致的 xff0c 所以采用直播的架构实现视频监控实时播放 xff0c 流程图如下 xff1a
  • 滑模观测器

    什么是滑模观测器 1 滑模观测器是一类动态系统 2 滑模观测器是指根据系统的外部变量 输入变量和输出变量 的实测值得出状态变量估计值的一类动态系统 xff0c 也称为状态重构器 3 作用 xff1a xff08 1 xff09 滑模观测器不
  • ROS入门_1.18 接下来做什么?

    此时你应该已经对ROS中的一些核心概念有了一定的理解 给你一台运行ROS的机器人 xff0c 你应该能够运用所学知识来列出机器人上发布和订阅的各种话题 xff08 topic xff09 xff0c 查看话题中发布的消息 xff0c 然后编
  • 【git】看懂git diff

    git diff 可以用来比较 xff1a 1 staging area和working area的文件 xff08 无其他参数时 xff09 plain view plain copy print git diff 2 master分支和
  • makefile 自动编译同一个目录下的所有文件

    SOURCE 61 wildcard c OBJS 61 patsubst c o SOURCE CROSS COMPILE 61 arm linux CXX 61 gcc CFLAGS 43 61 static CLFAGS 43 61
  • PX4_Bootloader单步调试配置(STM32F7 配置)

    Bootloader Makefile 编译选项 Os g 43 O0 43 ggdb3 Bootloader libopencm3 lib stm32 f7 Makefile TGT CFLAGS 61 Os g 43 TGT CFLAG
  • 2021北邮自考c++实践题及答案

    北邮c 43 43 实践考期 xff0c 只能在每年的下半年进行报名 xff0c 11月进行考试 由于疫情原因 xff0c 现在均为线上考试 xff0c 每人的考题不同 xff0c 但是大同小异 xff0c 此为2021年的c 43 43
  • 从idea推送代码到github,到jenkins部署,再到从github下载代码完成构建的全部详细操作流程

    目录 1 idea推送代码到github 1 1 github创建 1 2 git下载与安装 xff08 windows xff09 1 3 idea关联github 1 3 1 windows生成公私钥 1 3 2 idea关联githu