Jenkins学习之参数定义createValue方法介绍
1Defines a parameter for a build.
这里介绍一下 几个 createValue() 方法, 这些都是抽象方法,需要子类去实现的
12345678910 /** * Create a parameter value from a form submission. * * <p> * This method is invoked when the user fills in the parameter values in the HTML form * and submits it to the server. */ @CheckForNull public abstract ParameterValue createValue(StaplerRequest req, JSONObject jo);这个方法就是在jenkins 的job上 点击 Build with Parameters 时候会调用到这个方法里面.
12345678910111213141516171 ...
Jenkins插件学习之External-Monitor-Job
jenkins的不同项目类型之外部任务项目今天介绍一下jenkins的不同项目类型之外部任务项目
这种外部任务项目靠这个 External Monitor Job 插件来实现的。External Monitor Job Type1.7下面是jenkins wiki上对这种类型项目的一共描述。
Jenkins is useful for monitoring the non-interactive execution of processes, such as cron jobs, procmail, inetd-launched processes. Often those tasks are completely unmonitored (which makes it hard for you to notice when things go wrong), or they send e-mails constantly regardless of the success or failure (which results into the same situation as you ...
Jenkins学习之master服务器安装
jenkins学习之master服务器安装参考https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu
https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins
Installation1234567wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'sudo apt-get updatesudo apt-get install jenkins
UpgradeOnce installed like this, you can update to the later version of Je ...
Jenkins插件学习之docker-agent
inbound-agent1docker run --init jenkins/inbound-agent -url http://192.168.1.111:8080/jenkins -workDir=/tmp/node1/ws '896bc4ecdbbe6f567dd2ba34889f55e5cc17c17c9e09b692f4398beeeaf3addc' 'node1'
Jenkins学习之常用推荐的几个plugin安装
jenkins学习之plugin安装
插件名称
安装的插件的版本
github地址和对应的分支名称
备注说明
Hidden++ Parameter plugin
0.0.6
https://github.com/mamh-java/hidden-parameter-plugin/tree/hidden-parameter-0.0.6-for-jenkins-2.249.3
新增 hide string(单行文本) 和 hideText (多行文本) 2个类型的参数。
Active Choices Parameter Plugin
2.5.7
https://github.com/mamh-java/active-choices-plugin.git
仿照extensible-choice-parameter-plugin插件修改的。提供了几个ChoiceListProvider类型的class供选择。 本来是3个类型的 param的。现在改成一个,其他的都用provicer提供
Build Name and Description Setter
2.1.1
http ...
Kubernetes学习之Ubuntu下的k8s集群安装部署
kubernets 集群安装部署(ubuntu系统)kubernets 集群安装部署安装 Docker所有节点都需要安装 Docker。
1apt-get update && apt-get install docker.io
安装 kubelet、kubeadm 和 kubectl在所有节点上安装 kubelet、kubeadm 和 kubectl。
kubelet 运行在 Cluster 所有节点上,负责启动 Pod 和容器。
kubeadm 用于初始化 Cluster。
kubectl 是 Kubernetes 命令行工具。通过 kubectl 可以部署和管理应用,查看各种资源,创建、删除和更新各种组件。
123456apt-get update && apt-get install -y apt-transport-httpscurl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -cat <<EOF >/etc/apt/sour ...
Linux学习之限制ssh免密执行的命令
限制ssh免密秘钥ssh命令的执行Restrict to single command in authorized_keys
背景先说下背景
就是希望 服务器 上配置的这个 免密的公钥 只能执行 特定的命令。
例如,只能执行 rsync 命令,把我这台主机下面的 某个目录的数据备份出去,
只能出,不能进,就是防止 rsync 命令用反了我这台关键服务器上的数据冲掉。
如何实现在公钥前面加上一个 command 配置
123456: ~ $ cat .ssh / authorized_keys ssh-rsa AAAAB3NzaC1yc2EAAAAAABABAAABAQCj98R [ ... ]: ~ $ cat .ssh / authorized_keys command = "date" ssh-rsa AAAA [ ... ]
rrsync 工具这个工具 就是专门用来 我之前的那种需求的。这个工具好像是一个 perl 脚本。
https://serverfault.com/questions/965053/restricting-a-ssh-key-to- ...
Android下的配置管理之道之安装gerrit代码服务器
gerrit代码服务器的安装下面我们介绍另外一种安装方式。
就是native installers tools的安装方式。也就是 使用.deb 或者.rpm 包来安装。
1234We are pleased to announce the general availability of RPM and Debian native distributions for Gerrit Ver. 2.10. They have been packaged from the original Gerrit WAR using the new native installers tools developed and contributed back to the Gerrit community.
12gerrit在2.10版本的时候发布了另外格式的安装包,也就是 rpm/deb 格式的安装包。
为什么需要另外格式的安装包?
123456789101112131415161718Why yet another packaging format?Gerrit Code Review has al ...
Android下的配置管理之道之高通拆仓
Android下的配置管理之道之高通拆仓高通芯片平台的代码,一般可以分为android部分和amss部分。android部分很简单就谷歌那一整套的代码的。amss部分的代码属于高通自己的代码,算是私有代码。 不过这一部分代码仓库组织的很烂很烂。
amss这一部分 高通是把好多模块的代码分不同目录存放到一个git仓库里面了。导致这个git仓库十几GB的大小。这个仓库的垃圾之处还在于有些不该加到git仓库里面的文件都加入了,例如一些编译生成的中间文件,一些python执行的中间文件,每次编译这些文件都会被重新修改,真的很垃圾!!!shit~~~
再来说这个amss的仓库,如下列出了某个amss仓库的目录结构,基本上一个目录就是一个模块啦。其中还有2个单独的文件about.html 和 contents.xml,这两个文件还是很重要的,about.html记录高通每个模块的版本信息的,非常重要的。contents.xml和编译各个模块有关系,也是比较重要的一个文件。其中还有一个比较特殊的目录LINUX/,这个是高通android侧的私有代码。应该放到android代码目录顶层 ...
Android下的配置管理之道之基线升级
基线升级介绍 基线升级一般有如下几种方式
git rebase的方式
git cherry-pick 的方式(这个效果和git rebase 类似)
git merge的方式
几种方式的优缺点不同的公司可能采取不同的方式。
两种各有优缺点git rebase的方式 其中的git log历史会是一条直线走下去的,不会有分叉。git merge的方式 其中的git log 历史中会有分叉,有自己公司的提交,和其他公司(比如高通)的提交相互穿插的。
git rebase方式 一般最后会采用强制 git push -f的方式推送到服务器上。之前的历史会冲掉,所以一般会先做个备份分支。git merge 来说安全一些,不会强制git push到服务器,冲掉之前的git log历史。merge一般是不会改变之前的历史提交的。(rebase是会改变之前历史的)
git rebase 会稍微的复杂一些。git merge 相对于来说简单一些。(一般我们看很多的开源项目都比较喜欢git merge的方式,例如kernel,我们通过git log能看到很多 Merge 打头的提交)
基 ...
Android下的配置管理之道之apk签名相关
如何生成apk的签名key文件1234567# 建key方法:sub='/C=CN/ST=ShangHai/L=ShangHai/O=example/OU=CM/CN=example/emailAddress=test@example.com'for key in platform shared media testkey;do ./development/tools/make_key $key "$sub"done
怎么给某个apk重签名命令如下:
1java -Xmx2048m -jar signapk.jar xxx.x509.pem xxx.pk8 unsigned.apk signed.apk
pem和pk8文件 ,对于是userdebug、eng 这些使用的 是代码里面的key文件。可以在build/target/product/security这个路径下面得到。
如何获取签名key的sha1值解压apk文件得到RSA文件
APK以zip文件方式打开,在\META-INF\目录中存在一个.R ...
Android下的配置管理之道之git的使用
Android下的配置管理之道之git的使用git helpgit help 命令用来显示任何命令的 Git 自带文档。
对于每一个命令的完整的可选项及标志列表,你可以随时运行 git help <command> 命令来了解。
git config/etc/gitconfig 文件:系统中对所有用户都普遍适用的配置。
1git config --system
~/.gitconfig 文件:用户目录下的配置文件只适用于该用户。
1git config --global
当前项目的 git 目录中的配置文件(也就是工作目录中的 .git/config 文件):这里的配置仅仅针对当前项目有效。
12git config --local
每一个级别的配置都会覆盖上层的相同配置,所以 .git/config 里的配置会覆盖~/.gitconfig, /etc/gitconfig 中的同名变量。
12345$ git config --global user.name "马 ...