Fork me on GitHub

jenkins-area-meetup-shanghai-note

准备材料

不久之前受朋友推荐去 Jenkins Area Meetup 上海站作为演讲嘉宾做一点分享。想想自己从Hudson时代就开始做CI/CD,总觉得有些东西可以分享,便爽快的答应了。

但是选题的时候自己还是有点犯难了,这些年DevOps发展的很迅速,各种平台,工具层出不穷,各大公司的人才建设这方面也进行的如火如荼。经过一番考虑,觉得DevOps

运动其实还是想消除一些软件开发到交付当中的一些壁垒,包括人与人之间的沟通的壁垒,程序交付过程中的技术壁垒,如何能快速有效的建立一种流水线一样的FLow,并且带有反馈机制,使产品持续有效的进行迭代,这是DevOps核心的要解决的问题。

围绕这个,我很快想到可以跟大家聊聊消除壁垒的一个手段, Everything as Code.

展开来讲,我列了两点比较简单但是可以很容易被采用的:

  • Infrastructure as Code
  • Documentation as Code

演讲后

已经有很多年没有登台了,讲的过程还是有点紧,节奏放的不够缓, 但是还是希望听众能够建立这样的一种Mindset, Everything as Code,只要您记住了这句话,并且能够 在你后续的工作中尝试各种具体的实践,我觉得今天的半小时就没浪费。 演讲的Note我已经上传到这里, 大家根据里面的一些关键字,进行更深入的研究和实践,也欢迎下方留言区交流或者你也可以这里提issue进行交流。

作为听众

作为听众,我也从别的嘉宾那些Get到一些点,当然也和坐我身旁的美女进行了一番技术交流,具体点如下:

  • DevOps的平台工具层出不穷,把握住你要解决的问题。 Principles > Practices > Tools; Mindset > Skillset > Toolset
  • 测试金字塔是各大公司里做的最不理想的(也许还有下次,我可以分享分享这个点)
  • Jenkins X 自建 K8s集群进行金丝雀部署,并通过一些开源监控工具进行状态监测,来自动进行roll upgrade 或者roll back
  • DevOps人才难招
  • 如何解决数据库脚本的自动升级和回滚是自动化部署工具中的一大难题
  • Carlos Sanchez
  • Carlos Sanchez’s GitHub
Continue reading →

Play With Web Search

Search Engine 搜索引擎

Research Process

  • Clarify your research objectives and your research goals.
  • Start broadly and narrow it down.
  • Identify resources.
  • Keep track of what you do.
  • Plan to learn things along the way.
  • Know when to stop the research.

How Google Search Engine Works

The three key processes in delivering search results to you are:

  • Crawling: Does Google know about your site? Can we find it?
  • Indexing: Can Google index your site?
  • Serving: Does the site have good and useful content that is relevant to the user’s search? PageRank.

Query - The art of keyword choices

  • Every word matters
  • Word order matters
  • Capitalization does not matter
  • Punctuation often does not matter ($, #, and + sometimes matter, for example, C vs C++)

Tips: Practice to find some word in a web page using CTRL+F to prove your thinking that it will appear or not.

  • Use ‘define xxx’ to identify the meaning of words

Filter

  • Filter image results by color
  • Filter query result using operators
    • Find content within domain:

      tesla site:stanford.edu
      
    • Find specific file type:

      filetype:kml 北京奥运会场馆
      

      Download that file, and upload to google my maps to view.

  • Use the minus sign (-) to eliminate irrelevant results.
    • There must be a space before the minus sign.
    • There must not be a space between the minus sign and the word you want to eliminate.
  • Use quotes to search for a exact phrase.

Verify Result

Credibility - can you trust the information you find online? How can you find out whether information is accurate and true? Page Ranking can only make sure the result relevant to your query, but can’t make sure the ordered result is credible for you.

  • To check the credibility, just do one more search.

Variant data

  • Don’t imply the answer in your query when you do the search
  • The result may differ when query in different time range. (ex, when you query how many countries in the world)
  • The result may differ when query in different measure. (ex. circumference of the earth by circumpolar or equatorial)
  • To verify the source of a piece of information, use the precise information you have.
  • To confirm a fact, use a generic description for what you seek.

Google Specific Search Feature

  • Conversions: From Units to Units — pattern to follow: [number units in units]. For example, “100 usd in Chinese Yuan”
  • weather somewhere
  • time somewhere

Using WHOIS to identify who owns the site

If you see a second company listed as a contact on the WHOIS page, then a relationship exists between the two companies. For example, run the command below you will find youku.com has relationship with Alibaba.

whois youku.com

Reference

Open Course:Power Searching

A Google A Day

Continue reading →

警惕忽悠

警惕忽悠是一辈子的事情

小品《卖拐》 把我们忽悠的开怀大笑, 电视购物广告中“某某产品原价999,现在只要99” 也已成为我们的讥笑对象。我们的笑里有开心,更多的是对上当受骗者的嘲笑。 但是这些个能忽悠之人以及他们说的忽悠人的话,确对受众百试不爽。

昨天中午在公司,跟同事们聊起某公司的某高管,年轻有为,近几年来平步青云,从普通经理步步高升直到VP,但是他领导的团队和项目却一个接一个地半途而废。为什么这样的人还能步步高升呢? 同事们总结就是他能说出忽悠的关键词,忽悠着老板和客户一次次地为他的新项目买单。 比如这几年在IT公司,他起草的项目报告里就不停地出现下面的词语:

  • Lean Automation
  • Innovation
  • Digital Transformation
  • Opportunity
  • Growth
  • Market Share

还有他惯用的一些形容词:

  • extensive
  • great
  • rapidly

当然还有很多你能想到的许多鼓舞人心的词语。想想吧,你的公司里的高管的演讲是不是因为这些词语让你热血沸腾?

回到日常生活中来,同样我们也被一些忽悠的词语所包围,看看你的朋友圈的微商的宣传,还有网店里的宣传,是不是常常出现下面的词语:

  • 有机
  • 纯天然
  • 植物
  • 新西兰
  • 环保
  • 泰国
  • 美国
  • 澳洲
  • 时尚轻奢
  • 健康养身
  • 纳米

每当看到这些词语,是不是我们的体抗力会降低些许?

80后听说曾经风靡的气功大师,觉得不可思议,现在的90后估计看到电视购物广告也会吐槽鄙视,可是他们还是对现今网红主播的直播推荐毫无体抗力。原来忽悠一直都在流行着。

我们需要警惕这些词语,也欢迎你留言区给我留言说出你认为极有忽悠性的词语。

Continue reading →

The usage of historical data 浅谈历史数据的作用

历史数据的作用 - 以备不时之需

最近我的一部Apple 4S 的Apple Cloud ID 被苹果公司锁定了。虽然这部手机已经使用6年了,除了蓝牙坏了,不支持4G卡以外,其他功能都还完好。 加上不错的音色,放在家里给小孩当故事机听听喜马拉雅里的音频还是很不错的。

尝试了重设密码重新激活Cloud ID,但是自助激活的方法之一邮件激活,可是留的邮箱跟apple cloud id 是同一个,邮箱也进不去,就这样进入了死循环; 自助激活的第二个方法是回答安全问题,可是当初买机器的时候,电信的客服直接帮我随机设置了几个问题,甚至连我的生日也没有设置正确,这条路也不通。

不甘心好好的机器变板砖,就拨打了APPLE的客服电话,小伙子态度非常好,跟我聊了老半天,了解了我的情况, 帮我创建了Case,并邮件通知了我。 根据邮件里的指示,我需要提供设备的序列号或 IMEI(International Mobile Equipment Identity) 和销售收据以及能够证明您购买了这台设备的所有文件。这下我傻眼了,6年前的销售数据早就被我收拾家里的时候扔掉了。

apple-case-id

教训: 以后这类文件扔掉之前,还是先扫描一下电子件存在电脑里面( 充分使用一下家里打印机的功能)。

历史数据的作用 - 趋势统计,数据可视化,以便持续改进

写微信公众号断断续续也有2年的时间了,虽然是用心的写了每一篇,但是对公众号的运营和数据的增长没有太上心。 不过通过微信助手,第一次看到有人订阅,第一次看到订阅量超过40,第一次看到单篇阅读量超过200,第一次看到读者分布国内20几个城市和国外4个城市,内心中还是有小小激动和大大的鼓舞。

wechat-data-growth

然后我慢慢觉得这样的历史数据的统计和趋势分析很有价值,它为你的公众号或者博客的数据增长提供了可以持续改进的直观反馈。

从这点展开来,我今天也为我的博客加上了Google Analytics 来监测和统计访问流量的数据分布. Google Analytics

希望通过这些数据给出的报告,指导我更好地去写,更好地回馈我的读者。

Continue reading →

Container Image Vulnerability Scanner

Scan the vulnerability issues in the docker images using the Jenkins pipeline.

Installation: Anchore Engine

On the Jenkins Server Host (ex. Azure VM), Install the Anchore Engine

mkdir ~/aevolume
cd ~/aevolume

docker pull docker.io/anchore/anchore-engine:latest
docker create --name ae docker.io/anchore/anchore-engine:latest
docker cp ae:/docker-compose.yaml ~/aevolume/docker-compose.yaml
docker rm ae

docker-compose pull
docker-compose up -d

# https://github.com/anchore/anchore-engine

Optional: Expose the port 8288 to the internet. Then you can access the API at http://{ip}:8228/v1/images

Installation: Anchore Container Image Scanner Jenkins Plugin

Go to “Manage Jenkins – Manage Plugins,” select the “Anchore Container Image Scanner” plugin, and click the “Install without restart” button

Go to “Manage Jenkins – Configure System” and navigate to the “Anchore Plugin Mode” section. Fill in the following fields:

Engine URL: the URL where the Anchore Engine is accessible. You can use the docker inspect command when running Anchore Engine as a Docker container in order to retrieve the IP address (parameter IPAddress in the Networks section).

Engine Username: the Anchore Engine user name. default: admin

Engine Password: the Anchore Engine password. default: foobar

Add a FreeStyle Job, and configure as below:

Anchore Build Options

An scanning report can be found at http://{my-jenkins-ip}:8080/job/anchore-test/25/anchore-results/

Anchore container image scanner jenkins plugin

Continue reading →

All Tags

mindset

devops

book

ci

communication

jenkins

自媒体

hometown

geek life

cloud

ai