近期Atlassian公司发布公告 Cloud-first 战略转型 : Journey-to-cloud

Atlassian产品主要有下面三种形态:

Type 简介 后续影响
Server 1. 一次性付费(授权期间可以版本升级,到期后服务还可以正常使用)
2. 公司团队进行运维,可自由选择托管内部服务器或者云服务器
3. 适合对数据托管有本地化需求 的 中小型公司使用
1. 已经购买正版授权的,正常使用
2. 还没有购买正版授权的,需要在2021/2/2之前下单购买
3. 2024/2/2后官方不在维护Server产品
Data Center 1. 订阅制(年付)
2. 公司团队进行运维,可自由选择托管内部服务器或者云服务器
3. 相较于Server版本,增加了高可用 和 CDN 原生支持
4. 适合对数据托管有本地化需求 的 跨国多中心研发团队使用
1. 官方会一直维护更新Data Center产品
2. 2021/2/2后会调价
Cloud 1. 订阅制(年付/月付)
2. Atlassian公司进行运维,服务搭建在Atlassian公司云服务器
3. 适合对数据托管没有本地化需求 的 各类 公司使用
4. 目前没有使用国内的云服务器,所以国内网络访问速度和稳定性待考察
1. 官方战略龙头产品,放心使用

logo

受影响的产品:

  • Jira software
  • Jira Core
  • Confluence
  • Bitbucket
  • Bamboo
  • Crowd
  • Jira Service Desk
  • Atlassian apps
  • Marketplace apps

Comment and share

背景

原生Centos7系统的yum源自带git版本是1.8.3.1。

这个版本诞生于:10-Jun-2013。

很多新特性都不支持,为了更好的使用git,我们需要进行版本升级。

源码编译安装

  1. 安装相关依赖
    1
    2
    # yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc
    # yum install gcc perl-ExtUtils-MakeMaker
  2. 卸载当前git
    1
    # yum remove git
  3. 下载新版本源码包
    1
    2
    3
    4
    官方仓库地址:https://mirrors.edge.kernel.org/pub/software/scm/git/
    当前最新版本:git-2.28.0.tar.xz 27-Jul-2020

    # wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.28.0.tar.xz
  4. 源码编译安装
    1
    2
    3
    4
    5
    6
    7
    8
    # tar -xvf git-2.28.0.tar.xz
    # cd git-2.28.0/
    # which openssl 获取本机openssl路径,当前机器/usr/bin/openssl
    # ./configure --with-openssl=/usr/bin/openssl
    # make prefix=/usr/local/git all
    # make prefix=/usr/local/git install
    # echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/profile
    # source /etc/profile

Comment and share

系统软件环境

系统软件 版本
Jenkins 2.150.2
Slave Windows 10

问题描述

部分 Windows slave job 执行时间较长,日志分析发现不是Job脚本更新导致,而是因为Jenkins退出卡住。
日志分析:案例
具体任务在13:41就已经执行完成,但是Jenkins在13:51才退出返回结果。
也就是说整整卡住了10分钟,必须要解决。

原因分析

Jenkins 在 2.14 版本引入了 killSoftly 特性,出发点是想更加优雅的结束进程。
但是导致了 Windows slave上的 batch 脚本 执行完成 返回结果卡住(时间不确定)的情况。
Linux slave上的 shell 脚本执行退出没有发现此问题。

1
2
3
// Firstly try to kill the root process gracefully, then do a forcekill if it does not help (algorithm is described in JENKINS-17116)

killSoftly();

解决方法

可以通过 在Windows slave连接master机器的时候 增加 这个参数 -DSoftKillWaitSeconds=0 来解决。

1
2
3
# Run from agent command line:

java -Xrs -DSoftKillWaitSeconds=0 -jar agent.jar -jnlpUrl ...

使用上述命令重新连接 Master - Slave 后,可以在Slave系统信息界面看到参数生效了。
Slave信息

参考链接

https://issues.jenkins-ci.org/browse/JENKINS-55106
https://stackoverflow.com/questions/54039226/jenkins-hangs-between-build-and-post-build

Comment and share

背景

第三方客户审厂过程中,对公司现有流程管理方法工具有些改进建议。
其中有一条是:软件映像文件的完整性检验为MD5值,校验码和软件包一起发布,建议采用其它安全性更好的校验算法。

方案调研

参考链接: 为什么MD5不能用于存储密码

MD5 是一种摘要算法,我们也可以叫它哈希函数,哈希函数可以将无限键值空间中的所有键都均匀地映射到一个指定大小的键值空间中。一个好的摘要算法能够帮助我们保证文件的完整性,避免攻击者的恶意篡改。
作为一个 1992 年第一次被公开的算法,到今天为止已经被发现了一些致命的漏洞。在任何场景下,我们都应该避免MD5的使用,可以选择更好的摘要算法替代 MD5,例如 SHA256、SHA512。

改进方案

  • 保留现有的md5校验文件(部分客户还在使用)
  • 同时增加SHA256校验文件

基础命令使用

  1. SHA256
    • 生成XXX文件sha256值:
      1
      2
      3
      sha256sum XXX > XXX.sha256

      [root@wangweilong wwl]# sha256sum clean_virus.sh > clean_virus.sh.sha256
    • 追加YYY文件到已有sha256文件:
      1
      2
      3
      sha256sum YYY >> XXX.sha256

      [root@wangweilong wwl]# sha256sum install.log >> clean_virus.sh.sha256
    • 生成的sha256文件内容:
      1
      2
      3
      4
      [root@wangweilong wwl]# cat clean_virus.sh.sha256

      799750ecaf018307e3f3a5b69c69d28635bf047472e99c85f094ef210deb8ac9 clean_virus.sh
      328de949506461ffb371cb2e951d25aadb9e94d7c3038bb08aebce42cd8b84ee install.log
    • 校验方法:
      1
      2
      3
      4
      5
      6
      下载文件和对应的md5值文件到同一目录下,执行 sha256sum -c XXX.sha256 命令

      [root@wangweilong test]# sha256sum -c clean_virus.sh.sha256

      clean_virus.sh: OK
      install.log: OK

  1. MD5
    • 生成XXX文件md5值

      1
      2
      3
      md5sum XXX > XXX.md5

      [root@wangweilong wwl]# md5sum clean_virus.sh > clean_virus.sh.md5
    • 追加YYY文件到已有md5文件

      1
      2
      3
      md5sum YYY >> XXX.md5

      [root@wangweilong wwl]# md5sum install.log >> clean_virus.sh.md5
    • 生成的md5文件内容

      1
      2
      3
      4
      [root@p5-centos6-wangweilong wwl]# cat clean_virus.sh.md5

      7840489fe303c097fb142a982f9f41e7 clean_virus.sh
      16c04079cc2cda26cbab5cfa801df6c6 install.log
    • 校验方法

      1
      2
      3
      4
      5
      6
      7
      8
      下载文件和对应的md5值文件到同一目录下,执行md5sum -c XXX.md5 命令
      为了更好的展示,我修改了install.log文件的内容

      [root@wangweilong test]# md5sum -c clean_virus.sh.md5

      clean_virus.sh: OK
      install.log: FAILED
      md5sum: WARNING: 1 of 2 computed checksums did NOT match

Comment and share

  • page 1 of 1
Author's picture

Weilong

    Write something about work-life:

PM


Shenzhen