jenkins教程菜鸟_jenkins 入门教程(上)「建议收藏」

jenkins教程菜鸟_jenkins 入门教程(上)「建议收藏」jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的”自动化”编译、打包、分发部署。jenkins可以很好的支持各种语言(比如:java,c#,php等)的项目构建,也完全兼容ant、maven、gradle等多种第三方构建工具,同时跟svn、git能无缝集成,也支持直接与知名源代码托管网站,比如github、bitbucket直接集成。jenkins官…

大家好,又见面了,我是你们的朋友全栈君。

jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的”自动化”编译、打包、分发部署。jenkins可以很好的支持各种语言(比如:java, c#, php等)的项目构建,也完全兼容ant、maven、gradle等多种第三方构建工具,同时跟svn、git能无缝集成,也支持直接与知名源代码托管网站,比如github、bitbucket直接集成。

jenkins官网地址为http://jenkins-ci.org/,jenkins本身是用java语言开发的,所以安装jenkins的机器至少要有jdk,另外建议git、ant、maven、gradle、groovy等工具也一并安装好,方便与这些构建工具集成。

一、安装及启动(本文环境为mac os)

启动方法: java  -jar jenkins.war 即可,如果要以后台进程的方式启动,改成nohup java -jar jenkins.war & 即可,启动过程中,它会将war包解压到~/.jenkins目录下,并生成一些目录及配置文件,有兴趣的同学可以自己进入这个目录研究一下。

二、更新及下载插件

启动成功后,浏览http://localhost:8080/ (如果不是安装在本机,localhost请自行换成服务器对应ip)

jenkins教程菜鸟_jenkins 入门教程(上)「建议收藏」

参考上图,进入Manage Plugins的界面,jenkins的很多功能都是借助plugin来完成的,首次启动时很多插件会提示已经过时,需要更新,建议升级成最新版本,同时建议安装以下插件,以方便支持git项目及向远程机器上传文件及执行远程shell命令。

jenkins教程菜鸟_jenkins 入门教程(上)「建议收藏」

jenkins教程菜鸟_jenkins 入门教程(上)「建议收藏」

jenkins教程菜鸟_jenkins 入门教程(上)「建议收藏」

插件升级完后,重启jenkins以便让其生效。

三、安全设置

默认情况下,jenkins允许匿名用户做任何事情,这也就意味着谁都可以使用jenkins进行发布,这显然不够安全,jenkins支持多种安全认证机制,下面演示最传统的用户名/密码模式如何设置:

jenkins教程菜鸟_jenkins 入门教程(上)「建议收藏」

参考上图,进入Configure Global Security界面

jenkins教程菜鸟_jenkins 入门教程(上)「建议收藏」

参考上图设置,上面的设置大概意思为采用jenkins内置的用户名、密码认证机制,同时允许用户注册,匿名用户有管理权(首次配置时,建议允许匿名用户有管理权限,以避免操作错误后,无法正常进入jenkins管理界面,等其它用户权限都设置好以后,再去掉匿名用户的管理权)

保存后,jenkins右上角会有一个sign up注册链接,点击进去,注册一个用户,参考下图:

jenkins教程菜鸟_jenkins 入门教程(上)「建议收藏」

然后再进入安全设置界面:

jenkins教程菜鸟_jenkins 入门教程(上)「建议收藏」

可以看到,用户列表多了一个yangjm的用户,而且有管理权限,可以尝试用yangjm的用户名登录一下,如果ok,就可以去掉匿名用户的管理权限了,一般情况下,个人建议去掉允许用户注册的勾选(实际应用中,一般都是提前建好所有用户名,很少允许发布系统随意注册),保存后,再次访问jenkins

jenkins教程菜鸟_jenkins 入门教程(上)「建议收藏」

就会强制只能登录用户才能使用了。

四、系统配置

在正式创建部署项目前,还有几个关键参数要设置,如下图:

jenkins教程菜鸟_jenkins 入门教程(上)「建议收藏」

首先是jdk

jenkins教程菜鸟_jenkins 入门教程(上)「建议收藏」

其次是ant、maven参数

jenkins教程菜鸟_jenkins 入门教程(上)「建议收藏」

如果需要打包gradle项目,gradle也要配置

jenkins教程菜鸟_jenkins 入门教程(上)「建议收藏」

对于git托管的项目,git配置是不可少的

jenkins教程菜鸟_jenkins 入门教程(上)「建议收藏」

如果部署过程中,还需要运行shell脚本,以及通过scp向远程机器上传文件,则需要配置下面这些

jenkins教程菜鸟_jenkins 入门教程(上)「建议收藏」

注:上图中红色标1的地方,填写的是本机的ssh私钥证书,红色标2的地方为证书的访问密码,如果未设置证书密码,直接留空,Root Repository Path为远程服务器的上传根目录,hostname即为远程服务器的机器名称(或IP).

此外,还有一个强大的publish over ssh,不仅能向远程服务器上传文件,还能远程执行服务器上的Shell脚本,可参考下面配置

jenkins教程菜鸟_jenkins 入门教程(上)「建议收藏」

跟SCP的参数设置类似,不过这个插件多出了一个Test Configuration的按钮,如果参数正确,点击该按钮后,会尝试连接到远程服务器,成功的话,会显示Success.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/146750.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mfcgetdlgitem_mfc queue

    mfcgetdlgitem_mfc queueGetDlgItem 根据一个对话窗或一个控件的ID,返回一个指向这个对话窗或控件的对象的指针

    2025年6月11日
    3
  • Lamp环境搭建与配置(详细配置)「建议收藏」

    Lamp环境搭建与配置(详细配置)「建议收藏」Lamp环境搭建与配置知识介绍L:linuxA:apacheM:mysqlP:php三个角色可以在同一台机器也可以分开(Apache和PHP要在一起)工作模式:PHP是以模块的形式与A

    2022年7月2日
    26
  • 零拷贝技术_基因单拷贝

    零拷贝技术_基因单拷贝零拷贝技术概述零拷贝技术指在计算机执行操作时,CPU不需要先将数据从一个内存区域复制到另一个内存区域,从而可以减少上下文切换以及CPU的拷贝时间。它的作用是在数据报从网络设备到用户程序空间传递的过程中,减少数据拷贝次数,减少系统调用,实现CPU的零参与,彻底消除CPU的负载。实现零拷贝用到的主要技术是DMA数据传输技术和内存区域映射技术零拷贝机制可以减少数据在内核缓冲区和用户进程缓冲区之间反复的I/O拷贝操作零拷贝机制可以减少用户进程地址空间之间因为上下文切换而带来的CPU开销物理内存和虚拟

    2026年2月5日
    5
  • openmp矩阵乘法

    openmp矩阵乘法目录 1 实验内容与方法 2 实验过程 2 1 运行时间 2 2 加速比 2 3 图表 3 实验分析 4 源代码 1 实验内容与方法初始化数组 初始化三个 double 矩阵 matrix a matrix b 和 result 矩阵的行和列可以根据数据量大小自行调整 数组中的值使用 c 11 中的 random 类随机生成 0 到 1 之间的 double 值 程序计时 使用 c 11 中的

    2025年8月24日
    4
  • windowsAPI之OpenProcessToken,AdjustTokenPrivileges 和LookupPrivilegeValue

    windowsAPI之OpenProcessToken,AdjustTokenPrivileges 和LookupPrivilegeValue这三个函数主要用来提升进程的权限1OpenProcessToken()函数:获取进程的令牌句柄OpenProcessToken的原型.BOOLWINAPIOpenProcessToken(__inHANDLEProcessHandle,__inDWORDDesiredAccess,__outPHA

    2022年6月25日
    31
  • opencv 绘图 cvLine cvRectangle cvCircle cvEllipse cvEllipseBox cvFillPoly cvConvexPoly cvPolyLine[通俗易懂]

    opencv 绘图 cvLine cvRectangle cvCircle cvEllipse cvEllipseBox cvFillPoly cvConvexPoly cvPolyLine[通俗易懂]常用宏定义:#defineCV_RGB(r,g,b)cvScalar((b),(g),(r),0)#defineCV_FILLED-1#defineCV_AA16#definecvDrawRectcvRectangle#definecvDrawLinecvLine#definecvDrawCirclecvCircle#definec

    2022年7月24日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号