Publish over SSH部署应用到linux

简介: Publish over SSH部署应用到linux

     通过Publish over SSH部署一个node小项目

 

  • 准备工作
  1. Jenkins所在的是本地windows,应用程序是远程服务器linux
  2. 准备了一个node小例子
  •  开始实践
  1. 安装启动Jenkins我就不多讲了
  2. 打开Jenkins,首先在Manage Jenkins中选择Configure System,找到Publish over SSH的配置。

0d26f642-8e50-4fa0-8831-dd92c3d4.png

  1. 输入服务器名字,HostName,Username,Remote Directory(目标机器的路径,通过此插件推送的文件都会放在此路径下)

    publish.png (1480×654).png
  2. 点击高级-->选中 Use password authentication, or use a different key;然后输入linux用户名的密码image.png
  3. 点击 Test Configuration可以查看配置是否正确。image.png
  4. 点击应用,保存
  5. 新建项目->选择一个自由风格的项目,输入项目名称:test2
  6. 输入这个项目的描述,主要方便自己了解这个项目是干什么的。
  7. 源码管理,选择自己的方式。Credentials凭据是通过git拉取代码时所需要的凭据。不要照我的这个配置,根据自己的git实际应用(不管是通过用户名密码或者ssh密钥都可以)image.png
  8. 构建->Send files or execute commands over SSH或者构建后操作->Send build artifacts over SSH
  9. image.pngimage.png
  10. 选择服务器

Source files:需要上传的源文件路径。 注意:1.这个路径是相对于jenkins的工作空间的路径(比如你的jenkins工作路径是../.jenkins/workspace/test2/,那么这个Source files只能是相对于这个目录下的);2.在要传输的文件夹后面写两个 **,如果只写一个* ,dist下的文件夹不会传输。

Remove prefix:移除的目录。 Remote directory:文件存放的服务器远程目录(根据你的需求填写吧,比如我这里写的/work,那么在构建时文件就会存放在/usr/work/下,这个/usr/是我上面系统配置里配置的,如果这里的Remote directory在远程服务器上没有就会创建)。

Exec command:把你要执行的命令写在里面(这里我只是测试,因此就随便写了,根据自己的项目编写合适的指令,比如安装依赖文件啊、停止tomcat啊、停止程序啊、移动文件、启动程序等操作)。image.png

  1. 最后就应用->保存,然后点击立即构建即可
  2. 上面所写的都是最基本的用法,更多功能,比如定时构建,构建后发送邮件啊,保存构建次数等都可以自己试试。实际应用才会体会到很多坑。
  3. 构建成功后到linux查看一下是否成功
  4. 登录linux,切换到存放文件的路径 /usr/work/;输入ls;就可以看到这个文件夹下有webroot文件夹和ser.js。这两个确实是我github上的项目代码。因此证明通过Publish over SSH构建成功啦。
  5. image.png

 

  • 常见问题

问题一:如果在系统配置中Publish over SSH连接不成功?

            请检查用户名密码是否正确

 

问题二:如果构建时不能成功拉取git上的代码?

            请检查Jenkins配置的 Global Tool Configuration中Git的可执行程序路径是否正确,注意此处的git是Jenkins本地的       地址,不是linux上git的地址哈。这个问题在我另一篇文章(Publish over SSH和slave节点的区别)中提到过。

 

问题三:文件不能上传至远程服务器?

            请检查在Send files or execute commands over SSH中路径是否配置正确(源文件路径)。

 

 

 

 

相关文章
|
安全 应用服务中间件 网络安全
在Linux环境部署Flask应用并启用SSL/TLS安全协议
至此,你的Flask应用应该能够通过安全的HTTPS协议提供服务了。记得定期更新SSL证书,Certbot可以帮你自动更新证书。可以设定cronjob以实现这一点。
1030 10
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
1253 13
|
Ubuntu Linux 网络安全
在Linux云服务器上限制特定IP进行SSH远程连接的设置
温馨提示,修改iptables规则时要格外小心,否则可能导致无法远程访问你的服务器。最好在掌握足够技术知识和理解清楚操作含义之后再进行。另外,在已经配置了防火墙的情况下,例如ufw(Ubuntu Firewall)或firewalld,需要按照相应的防火墙的规则来设置。
838 24
|
存储 数据采集 监控
ubuntu(linux)系统主要应用于哪些工业场景中?研维三防ubuntu系统的手持工业三防平板电脑在哪些行业中有实际应用
Ubuntu 系统凭借其独特的优势,在众多工业场景中得到了广泛应用,为工业数字化、智能化发展提供了有力支持。而研维三防基于 Ubuntu 定制系统的手持工业三防平板电脑,更是将 Ubuntu 系统的优势与工业级的性能、坚固耐用性完美结合,在电力、物流、制造等多个行业中展现出强大的应用价值,助力企业提高生产效率、优化管理流程、提升产品质量,成为推动工业现代化发展的重要力量。随着技术的不断进步与创新,相信 Ubuntu 系统以及研维三防这类工业级设备将在更多的工业领域中发挥更大的作用,为工业发展带来更多的机遇与变革。
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
704 10
|
安全 网络协议 Linux
Linux查 ssh端口号和服务状态
本指南详细介绍如何检查SSH服务的运行状态,包括通过进程命令验证服务启动、查看监听端口、检测系统服务状态以及防火墙配置。同时提供安全建议,如修改默认端口、禁用密码登录和定期更新系统,确保SSH服务稳定与安全。适用于不同Linux发行版(Systemd/SysVinit),帮助用户全面排查和优化SSH配置。
|
安全 Linux 网络安全
Linux端的ssh如何升级?
Linux端的ssh如何升级?
1566 59
|
机器学习/深度学习 安全 Linux
Linux 主要应用领域的归纳
服务器领域 Linux在服务器领域的应用是其最为广泛和成熟的领域之一。由于其开源、稳定、高效和安全的特性,Linux成为许多企业服务器的首选操作系统。 Web服务器:Linux是Web服务器的理想选择,因为它支持Apache、Nginx等流行的Web服务器软件,这些软件在Linux上运行稳定且性能卓越。Linux服务器可以高效地处理大量并发请求,提供快速、可靠的Web服务。 数据库服务器:Linux也广泛用于数据库服务器,如MySQL、PostgreSQL和Oracle等数据库管理系统在Linux上运行良好。Linux的稳定性和安全性使得它成为存储和管理敏感数据的理想平台。 邮件服务器:Lin
922 5
|
缓存 Linux 开发者
Linux内核中的并发控制机制:深入理解与应用####
【10月更文挑战第21天】 本文旨在为读者提供一个全面的指南,探讨Linux操作系统中用于实现多线程和进程间同步的关键技术——并发控制机制。通过剖析互斥锁、自旋锁、读写锁等核心概念及其在实际场景中的应用,本文将帮助开发者更好地理解和运用这些工具来构建高效且稳定的应用程序。 ####
439 5
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。