jenkins : 权限控制

 

在Jenkins中,如果你希望不同组的创建的job只对改组内的成员可见,怎么实现呢?正常情况下,每个用户登录Jenkins都能看到所有的JOB,那么如果分组管理JOB呢?

我们可以利用Role-based Authorization Strategy插件实现这一需求。

1、安装Role-based Authorization Strategy插件

wKioL1dD7Kywqns3AALxTUSK9to668.png

2、配置授权策略

系统管理==> Configure Global Security ==>访问控制==>授权策略==>选择“Role-Based Strategy”

wKiom1dD7MKDwsdJAAHwRcUJrC8447.png

3、创建用户

我这里创建了4个用户,teamamanager、teamamember、teambmanager、teambmember。

teamamanager为Team A的项目管理人员,teamamember为Team A的开发人员

teambmanager、teambmember分别为Team B的项目管理人员和开发人员。

wKiom1dD72XgKefwAAGoLN4JLjY840.png

3、配置Roles和授权

系统管理>>Manage and Assign Roles>>Manage Roles

wKioL1dD8PfjJrGIAABl69DnrNE103.png

wKiom1dD8AaCEmx7AAEKomWkmdA530.png

wKioL1dD9DLhVXl0AAgfcOTYPB8162.png

返回上一个页面,进入 Assign Roles 进行配置

wKioL1dD9I6RvyfVAAD5A1lQA6Q179.png

wKioL1dD9bHikeKNAAPtQkJoAks763.png

4、创建项目,登录验证

用admin管理员登录Jenkins,创建几个项目,其中给Team A创建的项目为TeamAAPIService,Team B创建的项目为TeamBUserService。

wKiom1dD9WvjutK_AAHFMR7ws50620.png

登录teamamanager账号,只能看到TeamAAPIService这个job,说明正则表达式过滤生效了

登录teamamember账号,也只能看到这一个job,且没有删除Project的权限

wKiom1dD9k_DyvtrAAFU-LP8S4Y163.png

wKioL1dD90OyX4wfAAGr2ogB0v4029.png

同理Team B的情况一样的。不再截图演示。上面就是权限分别的整个过程和思路,公司有多个组就设置多个组的规则。将来有成员加入或者移除,直接在 Assign Roles 中添加或者删除,非常方便。

参考:

  1. http://www.cnblogs.com/gao241/archive/2013/03/20/2971416.html
  2. http://ju.outofmemory.cn/entry/272423

kotlin : 开始

要开始学习新语言了。

 

报道,谷歌在今日举行的I/O开发者大会上宣布,将Kotlin语言作为安卓开发的一级编程语言。Kotlin由JetBrains公司开发,与Java 100%互通,并具备诸多Java尚不支持的新特性。

谷歌称还将与JetBrains公司合作,为Kotlin设立一个非盈利基金会。JetBrains在2010年首次推出Kotlin编程语言,并在次年将之开源。下一版的Android Studio(3.0)也将提供支持。

值得一提的是,发布会上,Kotlin将作为安卓一级语言消息的宣布获得台下最热烈的欢呼声。(孙文文)

为了让开发者能够开发出更优秀的应用,Android 开始支持新的编程语言 Kotlin,开发人员的生产力能大幅度提升。

参考:

  1. http://kotlinlang.org/ [官网]

vmware : 该虚拟机似乎正在使用中

  1. 虚拟机运行一段时间后出现这个错误

用vm的时候,没有挂起和关闭虚拟机,直接关实体机。然后不幸的就异常了。

启动提示:

此虚拟机似乎正在使用中。
如果此虚拟机已在使用中,请按“取消”按钮,以免损坏它。如果此虚拟机未使用,请按“取得所有权(&T)”按钮以获取它的所有权。
配置文件:D:\Ubuntu\Ubuntu.vmx

点击取得所有权,又报错:取得该虚拟机的所有权失败。

解决:

删除文件D:\Ubuntu\Ubuntu.vmx.lck即可

 

参考:

  1. https://my.oschina.net/junn/blog/280185
  2. http://blog.csdn.net/jisuanji2121/article/details/18001183

hexo : 安装 配置

  1. npm install hexo-cli -g
  2. hexo init blog
  3. cd blog
  4. npm install
  5. hexo server

遇到错误:

sh: 1: node: not found
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian

npm ERR! Error: ENOENT, lstat '/usr/local/lib/node_modules/hexo/node_modules/warehouse/lib/schematype.js'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

解决方法:sudo apt-get install nodejs-legacy

shadowsocks : tcp bbr 加速效果棒

  1. Debian 8 / Ubuntu 14

    • 下载最新内核,最新内核查看这里
    wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.10.9/linux-image-4.10.9-041009-generic_4.10.9-041009.201704080516_amd64.deb
    
    • 安装内核
    dpkg -i linux-image-4.*.deb
    
    • 删除旧内核(可选)
    dpkg -l|grep linux-image 
    apt-get purge 旧内核
    
    • 更新 grub 系统引导文件并重启
    update-grub
    reboot
  2. 开启bbr

    开机后 uname -r 看看是不是内核4.9或4.10

    执行

    echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
    echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
    

    保存生效
    sysctl -p

    执行

    sysctl net.ipv4.tcp_available_congestion_control
    sysctl net.ipv4.tcp_congestion_control
    

    如果结果都有bbr, 则证明你的内核已开启bbr

    执行
    lsmod | grep bbr
    看到有 tcp_bbr 模块即说明bbr已启动

  3. 使用加速前  50Kb, 使用后  3000Kb
  4. 7AE194BA-A668-404E-BA64-00CBBCCA80A7
  5. B4806034-D385-48C9-89A8-BF48864C85E9
  6. 速度大大提高
  7. TODO: 有时间的话,了解下原理

参考:

  1. https://github.com/iMeiji/shadowsocks_install/wiki/%E5%BC%80%E5%90%AFTCP-BBR%E6%8B%A5%E5%A1%9E%E6%8E%A7%E5%88%B6%E7%AE%97%E6%B3%95 [安装文档]

jenkins : Changing Jenkins build number

 

If you have access to the script console (Manage Jenkins -> Script Console), then you can do this following:

 

Jenkins.instance.getItemByFullName("YourJobName").updateNextBuildNumber(45)

参考:

[1]:http://stackoverflow.com/questions/19645430/changing-jenkins-build-number/23221327