Jenkins 编译后使用SSH发布详解
前言
想要实现自动发布编译好的apk,我们可以使用官方插件库里的如下插件。
你可以使用FTP SSH等方式自动化发布,当然你也可以写脚本实现复杂的发布操作。
我以Publish Over SSH为例简单讲解下(主要是目前没部署FTP服务 TAT)
因为不知道怎么使用这个插件,所以我查看了下官方文档
https://wiki.jenkins-ci.org/display/JENKINS/Publish+Over+SSH+Plugin
看得懂E文的推荐去看看,比我讲的详细的多了。
这也算是能力的锻炼吧。
不废话,具体实现的最简单步骤如下
SSH连接设置
点主页左侧菜单的系统管理 选择系统设置 在系统设置页面找到找到SSH配置段
- Passphrase:表示登入密码
- path to key:SSH-key文件存放路径 文件路径可以是绝对路径 也可以是相对路径(相对于jenkins的工作目录)
- key:SSH-key具体的key文本 作用同上 设置其中一个即可
- disable exec: 表示是否运行执行命令 因为你在发布之后可能需要通过命令操作服务器,比如上传编译好的网站文件然后重启服务器上的tomcat
- name: 一般写成 用户名@主机名 比如root@blog.cooderstory.cn 当存在多个ssh配置文件的时候 我们使用name来区分
- hostanme:表示需要登入的远程主机 可以和我一样写个域名或者具体的ip
- username: 就是登入的用户名
- remote directory: 表示远程路径 登入到服务器后想打开哪个目录
这段SSH的配置主要是让jenkins能通过shh连接到服务器,也就是ssh连接配置
这里的配置要看具体服务器的安全设置的,有的是通过账户密码登入,有的是直接通过ssh-key登入的,或者三者都要。
我的服务器设置徐娅提供ssh-key和账户名就可以了。
配置项目的SSH设置
然后打开项目的配置页面
我们需要在 构建后操作 添加一个步骤 send build artifacts over ssh
- name:选择之前添加的ssh设置
- source files: 表示你要上传的文件的路径
- remove prefix: 目录修正 只能是source files中的路径 因为文件最终上传的路径是remote directory+source files 通过remove prefix削减source files中的一些目录层次
- remote directory 远程目录,指定上传到远程服务器的哪个目录
- exec command: 文本框表示你在文件上传完毕后想要执行的命令 不填也行 红色的警告可以无视
执行编译
保存配置重新执行编译
在控制台输出你会发现在success后多了几行信息
检查上传的文件
我们可以在服务器上找到我们刚才上传的apk文件了
注意下文件的路径的确是/var/www/html
够简单吧,Just try it!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Jenkins使用Gradle编译Android项目详解
创建项目 在主界面的左侧菜单选 新建 在向导中选择 输入项目名称,类型选择 构建一个自由风格的软件项目 点确定进入项目的配置界面 源码管理 选择git Repository URL输入项目路径 比如 https://git.coding.net/coderstory/Mi-Purify.git Credentials是对应的账户密码 点击add按钮添加github账户密码 Branch Specifier 是选择具体的分支 默认是master 在构建大类中 勾选Invoke Gradle [不知
-
window下使用Jenkins来做自动化部署的教程图解
今天我们来说一下,如何使用Jenkins+powershell脚本,将我们的.NET CORE的脚本部署到对应的服务器上. 这里我们使用的源码管理工具是TFS.虽然源码管理器比较老旧,但是原理都差不多. 1.安装Jre,因为我们的Jenkins是基于java开发的,所以需要先在服务器上安装java的运行时环境 这个安装过程比较简单,百度下载JRE,然后安装,暂且不表. 下载地址:https://www.java.com/en/download/manual.jsp 2.下载并安装Jenkins,
-
spring boot 项目利用Jenkins实现自动化部署的教程详解
本文主要讲解利用Jenkins实现spring boot项目的自动化部署: •1.后台技术架构:Spring boot 1.4.2.RELEASE +Mybatis 3+ Redis+ Mysql 5.6+JDK8; •2.代码构建工具:maven 3.3; •3.源代码托管工具:Gitlab; •4.利用maven的docker插件打包成docker镜像在docker容器中部署项目: •5.服务器是阿里云的ECS; 一.安装Jenkins 1.阿里云服务器安装Jenkins方式见如下链接地址
-
在CentOS7上搭建Jenkins+Maven+Git持续集成环境的方法
本文以部署 Spring boot + Maven 项目为例,使用码云作为代码托管仓库,在 CentOS 7 上搭建 Jenkins 持续集成环境. 1. 准备工作 1.1 安装 Java 环境 Jenkins 是基于 Java 开发的持续集成工具,需要在 Java 环境下运行.用下面命令查看系统是否已安装 Java: yum list installed | grep jdk 如果没有,使用 yum search 命令查找 openjdk 版本,选择合适的 jdk 进行安装: yum sear
-
Java利用jenkins做项目的自动化部署
最近领导要求上海本地的项目需要使用进jenkins实现自动化部署,以便可以直接将项目移交给运维的同学,减轻开发的工作量.记录下这次爬坑的过程. 一.前言 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: 1.持续的软件版本发布/测试项目. 2.监控外部调用执行的工作. 上面是我从百科上down下来的,老实说没看懂,这是个什么玩意啊?其实以我现在的理解和应用,最多的便是部署了,其他功能待研究╮(╯_╰)╭撸主目前在上海一个不知名国企打工,我们现在项目的发布流程
-
Jenkins 编译后使用SSH发布详解
前言 想要实现自动发布编译好的apk,我们可以使用官方插件库里的如下插件. 你可以使用FTP SSH等方式自动化发布,当然你也可以写脚本实现复杂的发布操作. 我以Publish Over SSH为例简单讲解下(主要是目前没部署FTP服务 TAT) 因为不知道怎么使用这个插件,所以我查看了下官方文档 https://wiki.jenkins-ci.org/display/JENKINS/Publish+Over+SSH+Plugin 看得懂E文的推荐去看看,比我讲的详细的多了. 这也算是能力的锻炼
-
利用vscode调试编译后的js代码详解
前言 在开发的过程中,几乎不可能一次性就能写出毫无破绽的程序,断点调试代码是一个普遍的需求. vscode 是一个非常棒的编辑器,内置功能强大的调试能力.经过简单的设定,就可以对 js 文件进行调试.但有时我们想要调试的内容是经过编译的,当然我们可以直接调试编译后的代码.但经过编译压缩以后的代码,可读性很差,且也可能无法分模块查看了,有什么方法进行编译前的代码调试么?答案当然是肯定的. 下面话不多说了,来一起看看详细的介绍吧. vscode 的常规调试 vscode 的调试界面在窗口最左边: 最
-
python通过socket实现多个连接并实现ssh功能详解
一.前言 上一篇中我们已经知道了客户端通过socket来连接服务端,进行了一次数据传输,那如何实现客户端多次发生数据?而服务端接受多个客户端呢? 二.发送中文信息 在python3中,socket只能发送bytes类型的数据,bytes类型只能表示0-225的ASCII码的值,并不能表示中文,所以当我们需要发送中文时,需要使用到编码和解码. 客户端: import socket # 客户端 # 声明协议类型,同时生成socket对象 client = socket.socket() # clie
-
centos 7 vscode cmake 编译c++工程的教程详解
一.环境说明 1)gcc/g++ cmake安装建议 gcc/g++内核自带的即可,如果需要新的自行安装, cmake也一样,如有需要新的版本自行安装. 2)vscode安装插件 必要的插件c/c++ 0.28.1 cmake 0.0.17 cmake tools 1.4 (这几个插件的版本可能会不同,以扩展搜索到的最新的为准) 二.创建项目实验 1)打开项目文件夹 第一步:打开vscode,点击左上角文件,在下拉菜单选择打开文件夹!注意,是打开文件夹,不是工作区,也不是其它的!! 第二步:
-
Ubuntu20.04桌面安装及root权限开通和ssh安装详解
文章主要记录Ubuntu20.04的简单安装过程,安装后更换国内源,安装openssh软件,启动root权限登录 Ubuntu20.04安装 安装比较简单,加载镜像文件后按照步骤一步一步操作即可. 链接:Ubuntu20.04安装详细教程 按照这个文档即可安装成功. 安装成功后,使用安装过程中的用户名进行登录. 登录后先更新国内源,这里选择阿里,也可选择其他. 这样就更新好源了,后面安装相关软件速度快很多. ssh安装 安装ssh sudo apt-get update sudo apt-get
-
Android studio4.1更新后出现的问题详解
Android studio4.1更新后出现的问题如下 > Task : app : kaptDebugKotlin FAILED FAILURE: Build failed with an exception. wrong: Execution failed for task ' :app : kaptDebugKotlin'. > A failure occurred while executing org. jetbrains . kotlin. gradle . internal .
-
Svelte调试模式js级别差异和细化后的体积差异详解
目录 js级别的差异 ecma ast差异 细化后的体积差异 调试模式 on:事件名 svelte:options setContext js级别的差异 主要来自两个方面:hook系统(不考虑类)和ecma-ast差异hook系统. 钩子系统的api更多地用于纯函数组件注入状态和生命周期.在这两个方面,Svelte提供的解决方案是不同的. 由于预运行编译,Svelte编译器扫描所有与UI相关的状态并注入黑魔法,使得状态的使用与变量声明和赋值一样简单. 基本上,开发人员不需要太在意所谓的副作用:因
-
webpack将js打包后的map文件详解
类似于这样的map文件 由webpack自动生成 参数: devtool: '#eval-source-map',//映射js到原文件 由于打包后的js调试不方面,所以应用此,自动映射报错到原文件 还是很有用的 同样的css设置如下 { test: /\.css$/, loader: 'style-loader!css-loader?sourceMap' } 以上这篇webpack将js打包后的map文件详解是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们. 您可能感兴
-
C语言预处理预编译命令及宏定义详解
目录 程序翻译环境和执行环境 翻译环境:详解编译+链接 1. 编译 - 预处理/预编译 test.c ---- test.i 2. 编译 - 编译 test.i ---- test.s 3. 编译 - 汇编 test.s ---- test.obj 4. 链接 test.obj ---- test.exe 运行环境 预处理/预编译详解 #define 定义标识符 #和## #的作用 ##的作用 命名约定 命令行定义 条件编译 常见的条件编译指令 文件包含 offsetof(宏类型,成员名字)偏移
-
nginx编译安装及常用参数详解
目录 1 基于ansible role实现编译安装nginx 2 编译安装参数详解 1 基于ansible role实现编译安装nginx 利用ansible控制端10.0.0.8机器,在被控制端10.0.0.18上部署nginx 首先打通ansible控制端与被控制端的基于key验证 [root@ansible-rocky ~]$ ssh-copy-id 10.0.0.18 [root@ansible-rocky ~]$ ssh 10.0.0.18 Last login: Wed Jan 11
随机推荐
- ios开发:一个音乐播放器的设计与实现案例
- 分享10个优化代码的CSS和JavaScript工具
- SQLServer2008新实例远程数据库链接问题(sp_addlinkedserver)
- JS比较两个时间大小的简单示例代码
- 匹配5到10位无重复数字的正则表达式
- VMware虚拟机三种网络模式区别
- Swift里的值类型与引用类型区别和使用
- javascript加号"+"的二义性说明
- .net实现裁剪网站上传图片的方法
- Node.js 使用流实现读写同步边读边写功能
- jQuery Ajax显示对号和错号用于验证输入验证码是否正确
- JS设计模式之数据访问对象模式的实例讲解
- fancybox1.3.1 基于Jquery的插件在IE中图片显示问题
- ASP.NET jQuery 实例7 通过jQuery来获取DropDownList的Text/Value属性值
- asp.net下DataSet.WriteXml(String)与(Stream)的区别
- 子目录绑定的资源分配的说明
- android新建草稿删除后下次开机还会显示保存的草稿
- Python解析并读取PDF文件内容的方法
- Mysql注入中的outfile、dumpfile、load_file函数详解
- vue router动态路由设置参数可选问题