jenkins携带参数远程构建

基础操作 jenkins远程构建配置请参考: jenkins远程触发配置(带参数), 需要注意的是携带参数是用http://host:8080/job/xxxx/buildWithParameters, 不带参数是http://host:8080/job/xxxx/build, 不然接收不到参数。 接收参数 开启参数化构建过程,输入参数名称(和url携带的参数一致), 不然接收不到参数 目前的url如下: http://host/job/xxxx/buildWithParameters?token=YOUR-TOKEN&appKey=ababababa 在命令下用$appKey就可以接收了 echo $appKey 如果你的浏览器已经登录过jenkins,输入上述网址就可以成功构建了。如果没登录或者命令行下就不行了,所以我们要输出登录信息过去。 curl请求并携带登录信息 curl -X POST http://host/job/xxxx/

阅读全文...

Centos部署Android自动打包

注意事项 服务器内存1G+, 编译Android占内存比较多,512M容易打满 Android SDK的下载路径都在google域名下,不确定是否能正常访问,亲测腾讯云可以。 安装Java环境 # 查看可用的jdk版本 yum search java|grep jdk # 注意区分OpenJDK Development Environment(JDK) 和 OpenJDK Runtime Environment(JRE), 编译Android选择 JDK # 安装jdk, 会自动配置环境变量 yum install java-1.8.0-openjdk-devel.i686 # 检测是否安装成功 java、javac、java -version 安装Jenkins sudo wget -O /etc/yum.repos.d/jenkins.repo

阅读全文...

Python调用C++库

0x1起因 python项目中涉及到其他加解密模块,但是都是用c++实现的,用python重新实现一套麻烦且难以维护,而python调用c++动态库也很方便, 所以有了本文 0x2编译动态库.so encryptrc.cpp #include <iostream> using namespace std; class TestLib { public: char* decrypt(char* input); }; char* TestLib::decrypt(char* input) { // 解密实现 } extern "C" { TestLib obj; char* decrypt(char* input) { return obj.display(input); } } 编译成动态库 g++ -o encryptrc.

阅读全文...

PHP自动部署关联git仓库下的代码

教程开始 # 进入根目录并执行下面命令生成公钥 ssh-keygen -t rsa -C "admin@xx.com" # 查看公钥并部署到git服务器上 cat ~/.ssh/id_rsa.pub # 创建git目录并设置用户, 例子为ghost, 完整目录为 /home/wwwroot/ghost chown -R www:www /home/wwwroot/ghost # 配置用户信息 sudo -Hu www git config --global credential.helper store # 永久保存 sudo -Hu www git config --global user.name "xxxx" sudo -Hu

阅读全文...

高性能PHP日志库SeasLog使用

官方介绍 PHP的有效,快速,稳定的日志扩展 项目地址 功能介绍 安装方式 # 先安装 PECL cd /usr/local/php/bin/ curl -o go-pear.php http://pear.php.net/go-pear.phar ./php go-pear.php # 回车, 会提示选择安装的东西, 直接回车, 安装全部, 若后面有要选择y/n的, 输入y回车 # 安装SeasLog pecl install seaslog # 重启nginx /etc/init.d/nginx restart 安装并重启完成后就能在phpinfo()看到seasLog信息了 使用 # 配置基础路径, 输出路径为 ~/logs/

阅读全文...

nginx日志过滤

nginx单条日志格式 61.135.169.92 - - [12/Mar/2018:17:24:45 +0800] "GET /changyan/version-v4.js?15208466853470.1961183244800202 HTTP/1.1" 200 2089 "http://www.apkfuns.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.

阅读全文...

Android性能优化总结

持续更新ing 性能优化主要几个方面 流畅性优化 内存优化 CPU 优化 稳定性优化 安装包优化 流畅性 人眼和大脑之间的协作能感受到的最大帧率就是每秒 60 Fps 画面更新,那么要求每一帧的绘制时间就是 1000/60 = 16.67ms,所以Android系统要求每一帧尽可能在 16ms 内绘制完成 怎么看帧率? adb shell dumpsys gfxinfo "com.baidu.hi.debug" // 或者 开发者模式 > GUP 呈现模式分析 > 屏幕上显示条形图 屏幕下方的柱状图每一根代表一帧,其高度表示“渲染这一帧耗时”, 绿线代表16ms标准。每一帧的渲染过程拆分成了8个步骤: 1) Swap Buffers:表示处理任务的时间,也可以说是CPU等待GPU完成任务的时间,线条越高,表示GPU做的事情越多; 2)

阅读全文...

Java中注释@link、@see用法

在源码中经常可以看到注解中有类似的写法,点击可以直接跳转到指定方法,对阅读注解有很大的帮助。 /** * When {@link android.app.ActivityOptions#makeSceneTransitionAnimation(Activity, * android.view.View, String)} was used to start an Activity, <var>listener</var> * will be called to handle shared elements on the <i>launching</i> Activity. Most * calls will only come when

阅读全文...

那些不常用的运算符

1.非运算符 ( ~ ) int a=2; System.out.println("a 非的结果是:"+(~a)); 位运算都是补码运算的,2的二进制码应写8位的:00000010 按位取反为111111101,此时仍为补码,而补码转源码需要先-1,符号位不变再取反。换算为原码为:10000011 即-3。有个规律,取反都是原数+1再转为负数,如~19为-20 原码和补码转换关系 分两种情况,以八位原码转换补码为例: 正数(符号位为0的数)补码与原码相同. 负数(符号位为1的数)变为补码时符号位不变,其余各项取反,最后在末尾+1 例如:原码01100110,补码为:01100110 原码11100110,先变反码:10011001,再加1变为补码:10011010 计算机中的符号数有三种表示方法,即原码、反码和补码。

阅读全文...

linux 常用命令总结

1.文件操作 man (manual) 展示命令用法和参数, 比如man ls 就会显示ls的用法 ls  显示文件或目录,如果要显示隐藏文件加用ls -a, a是all的意思 stat 显示指定文件的详细信息,比ls更详细 mkdir 创建目录, eg: mkdir zsn cd 进入目录, cd / 进入根目录, cd .. 进入父目录(退回到上一级目录), cd zsn 进入zsn目录 cp 拷贝命令, 拷贝文件夹或者文件 eg. cp 目录或文件名 新的目录或者文件名 mv 移动文件或者重命名, 注意mv重命名的功能,linux没有专门重命名的方法,通过mv zsn1.txt zsn2.txt 来修改名称 rm 删除文件,

阅读全文...