Merge remote-tracking branch 'LCTT/master'

This commit is contained in:
Xingyu.Wang 2018-09-17 23:27:13 +08:00
commit 8341594803
3 changed files with 86 additions and 81 deletions

View File

@ -0,0 +1,53 @@
在 OpenDev 大会上学习 CI/CD
======
> 未来的开发工作需要非常精通 CI/CD 流程。
![在OpenDev上掌握CI/CD](https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/BUSINESS_opennature_3.png?itok=J1OSECM_)
在 2017 年启动后OpenDev 大会现在已是一个年度活动。在去年 9 月的首届活动上,会议的重点是边缘计算。今年的活动,于 5 月 22 - 23 日举行,会议的重点是持续集成和持续发布 (CI/CD),并与 OpenStack 峰会一起在温哥华举行。
基于我在 OpenStack 项目的 CI/CD 系统的技术背景和我近期进入容器下的 CI/CD 方面的经验,我被邀请加入 OpenDev CI/CD 计划委员会。今天我经常借助很多开源技术,例如 [Jenkins][3]、[GitLab][2]、[Spinnaker][4] 和 [Artifactory][5] 来讨论 CI/CD 流程。
这次活动对我来说是很激动人心的,因为我们将在这个活动中融合两个开源基础设施理念。首先,我们将讨论可以被任何组织使用的 CI/CD 工具。为此目的,在 [讲演][6] 中,我们将听到关于开源 CI/CD 工具的使用讲演,一场来自 Boris Renski 的关于 Spinnaker 的讲演,和一场来自 Jim Blair 的关于 [Zuul][7] 的讲演。同时讲演会涉及关于开源技术的偏好的高级别话题特别是那种跨社区的和本身就是开源项目的。从Fatih Degirmenci 和 Daniel Farrel 那里,我们将听到关于在不同社区分享持续发布实践经历,接着 Benjamin Mako Hill 会为我们带来一场关于为什么自由软件需要自由工具的分享。
在分享 CI/CD 相对新颖的特性后,接下来的活动是对话、研讨会和协作讨论的混合组合。当从人们所提交的讲座和研讨会中进行选择,并提出协作讨论主题时,我们希望确保有一个多样灵活的日程表,这样任何参与者都能在 CI/CD 活动进程中发现有趣的东西。
这些讲座会是标准的会议风格,选择涵盖关键主题,如制定 CI/CD 流程,在实践 DevOps 时提升安全性,以及更具体的解决方案,如基于容器关于 Kubernetes 的 [Aptomi][8] 和在 ETSI NFV 环境下 CI/CD。这些会话的大部分将会是作为给新接触 CI/CD 或这些特定技术的参与者关于这些话题和理念的简介。
交互式的研讨会会持续相对比较长的时间,参与者将会在思想上得到特定的体验。这些研讨会包括 “[在持续集成任务中的异常检测][9]”、“[如何安装 Zuul 和配置第一个任务][10]”,和“[Spinnake 101快速可靠的软件发布][11]”。(注意这些研讨会空间是有限的,所以设立了一个 RSVP 系统。你们将会在会议的链接里找到一个 RSVP 的按钮。)
可能最让我最兴奋的是协作讨论,这些协作讨论占据了一半以上的活动安排。协作讨论的主题由计划委员会选取。计划委员会根据我们在社区里所看到来选取对应的主题。这是“鱼缸”风格式的会议,通常是几个人聚在一个房间里围绕着 CI/CD 讨论某一个主题。
这次会议风格的理念是来自于开发者峰会,最初是由 Ubuntu 社区提出,接着 OpenStack 社区也在活动上采纳。这些协作讨论的主题包含不同的会议,这些会议是关于 CI/CD 基础,可以鼓励跨社区协作的提升举措,在组织里推行 CI/CD 文化,和为什么开源 CI/CD 工具如此重要。采用共享文档来做会议笔记,以确保尽可能的在会议的过程中分享知识。在讨论过程中,提出行动项目也是很常见的,因此社区成员可以推动和所涉及的主题相关的倡议。
活动将以联合总结会议结束。联合总结会议将总结来自协同讨论的关键点和为即将在这个领域工作的参与者指出可选的职业范围。
可以在 [OpenStack 峰会注册页][13] 上注册参加活动。或者可以在温哥华唯一指定售票的会议中心购买活动的入场券,价格是 $199。更多关于票和全部的活动安排见官网 [OpenDev 网站][1]。
我希望你们能够加入我们,并在温哥华渡过令人激动的两天,并且在这两天的活动中学习,协作和在 CI/CD 取得进展。
--------------------------------------------------------------------------------
via: https://opensource.com/article/18/5/opendev
作者:[Elizabeth K.Joseph][a]
选题:[lujun9972](https://github.com/lujun9972)
译者:[jamelouis](https://github.com/jamelouis)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:https://opensource.com/users/pleia2
[1]:http://2018.opendevconf.com/
[2]:https://about.gitlab.com/
[3]:https://jenkins.io/
[4]:https://www.spinnaker.io/
[5]:https://jfrog.com/artifactory/
[6]:http://2018.opendevconf.com/schedule/
[7]:https://zuul-ci.org/
[8]:http://aptomi.io/
[9]:https://www.openstack.org/summit/vancouver-2018/summit-schedule/events/21692/anomaly-detection-in-continuous-integration-jobs
[10]:https://www.openstack.org/summit/vancouver-2018/summit-schedule/events/21693/how-to-install-zuul-and-configure-your-first-jobs
[11]:https://www.openstack.org/summit/vancouver-2018/summit-schedule/events/21699/spinnaker-101-releasing-software-with-velocity-and-confidence
[12]:https://www.openstack.org/summit/vancouver-2018/summit-schedule/events/21831/opendev-cicd-joint-collab-conclusion
[13]:https://www.eventbrite.com/e/openstack-summit-may-2018-vancouver-tickets-40845826968?aff=VancouverSummit2018

View File

@ -1,31 +1,34 @@
在Linux上使用 i3 作为窗口管理器入门教程
i3 窗口管理器入门
======
本篇文章会介绍如何在Fedora系统中安装、配置、使用i3桌面管理器。
> 本篇文章会介绍如何在 Fedora 系统中,安装、配置、使用 i3 瓦片式桌面管理器。
![](https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/windows-tiling-windows-wall.png?itok=mTH7uVrn)
在我的文章 [i3 桌面让 Linux 更好的 5 个理由][1],我分享了选择 [i3 桌面管理器][2] 作为一种 Linux 桌面替代方案的最主要五个理由。
在本篇文章中,我将向大家展示,如何在 Fedora 28 上安装与配置 i3。
### 1\. 安装
在本篇文章中,我将向大家展示,如何在 Fedora 28 上安装与简单配置 i3。
### 1、 安装
首先进入 Fedora 系统中,打开一个终端。使用 `dnf` 来安装需要的软件包,如下:
```
[ricardo@f28i3 ~]$ sudo dnf install -y i3 i3-ipc i3status i3lock dmenu terminator --exclude=rxvt-unicode
Last metadata expiration check: 1:36:15 ago on Wed 08 Aug 2018 12:04:31 PM EDT.
Dependencies resolved.
================================================================================================
 Package                     Arch         Version                           Repository     Size
Package Arch Version Repository Size
================================================================================================
Installing:
 dmenu                       x86_64       4.8-1.fc28                        fedora         33 k
 i3                          x86_64       4.15-1.fc28                       fedora        323 k
 i3-ipc                      noarch       0.1.4-12.fc28                     fedora         14 k
 i3lock                      x86_64       2.9.1-2.fc28                      fedora         33 k
 i3status                    x86_64       2.12-1.fc28                       updates        62 k
 terminator                  noarch       1.91-4.fc28                       fedora        570 k
dmenu x86_64 4.8-1.fc28 fedora 33 k
i3 x86_64 4.15-1.fc28 fedora 323 k
i3-ipc noarch 0.1.4-12.fc28 fedora 14 k
i3lock x86_64 2.9.1-2.fc28 fedora 33 k
i3status x86_64 2.12-1.fc28 updates 62 k
terminator noarch 1.91-4.fc28 fedora 570 k
Installing dependencies:
 dzen2                       x86_64       0.8.5-21.20100104svn.fc28         fedora         60 k
dzen2 x86_64 0.8.5-21.20100104svn.fc28 fedora 60 k
... Skipping dependencies/install messages
@ -37,55 +40,56 @@ Complete!
据用户目前的系统状态,在命令执行过程中可能会安装很多依赖。等待所有的依赖安装完成,之后重启你的电脑。
### 2. 登录与初始化
### 2、 首次登录与初始化
在你的机器重启之后,你便可以第一次体验 i3 了。在 GNOME Display Manager GDM,选择你的用户名,之后先别着急输密码,点击下方的密码输入框下方的小齿轮,之后选择 i3 ,像下方这样:
在你的机器重启之后,你便可以第一次体验 i3 了。在 GNOME 显示管理器GDM屏幕,选择你的用户名,之后先别着急输密码,点击下方的密码输入框下方的小齿轮,之后选择 i3 而不是 GNOME,像下方这样:
![](https://opensource.com/sites/default/files/uploads/i3_first_login_small.png)
输入你的密码,并点击 `Sign In`。在你第一次登入之后,会先看到 i3 的配置界面:
输入你的密码,并点击 “Sign In”。在你第一次登入之后,会先看到 i3 的配置界面:
![](https://opensource.com/sites/default/files/uploads/i3_first_configuration_small.png)
点击 `ENTER` 就会在 `$HOME/.config/i3` 生成一个配置文件,之后你可以通过这个配置文件来定制化 i3's 的一些行为。
点击回车键就会在 `$HOME/.config/i3` 生成一个配置文件,之后你可以通过这个配置文件来定制化 i3 的一些行为。
在下一屏,你需要选择你的 `Mod` 键。这一步很关键,因为 `Mod` 键通常都会作为 i3's 命令快捷键的发起键。按 `ENTER` 会选择 `Win` 键作为默认的 `Mod` 键。如果你的键盘没有 `Win` 键,用 `Alt` 键做替代,用方向键键选择后按 `ENTER` 确认。
在下一屏,你需要选择你的 `Mod` 键。这一步很关键,因为 `Mod` 键通常都会作为 i3 命令快捷键的发起键。按回车会选择 `Win` 键作为默认的 `Mod` 键。如果你的键盘没有 `Win` 键,用 `Alt` 键做替代,用方向键键选择后按回车键确认。
![](https://opensource.com/sites/default/files/uploads/i3_generate_config_small.png)
现在你就登录到了 i3 的系统中。由于 i3 是一个最小化的窗口管理器,你会看到一个黑屏窗口,以及屏幕底端显式的状态栏:
现在你就登录到了 i3 的系统中。由于 i3 是一个极简的窗口管理器,你会看到一个黑屏窗口,以及屏幕底端显示的状态栏:
![](https://opensource.com/sites/default/files/uploads/i3_start_small.png)
接下来,让我们看看 i3 的如何实际使用。
### 3\. 基本的快捷键
### 3 基本的快捷键
现在你已经登录到了 i3 会话中,你需要几个基本的快捷键来应对基本的操作。
现在你已经登录到了 i3 会话中,你需要几个基本的快捷键来应对基本的操作。
大多数的 i3 快捷键都会用到之前配置的 `Mod` 键。在下面的例子中,当我提到 `Mod` 键,请根据情况使用你定义的做替换。通常使用 `Win` 键或者 `Alt` 键。
首先,打开一个终端,使用 `Mod+ENTER`。重复打开几个终端,观察 i3 是如何自动将它们在桌面中排列。默认情况下, i3 会在水平的方向分割屏幕;使用 `Mod + v` 来垂直分割,再按 `Mod + h` 会恢复水平分割模式。
首先,打开一个终端,可以使用 `Mod+ENTER`。重复打开几个终端,观察 i3 是如何自动将它们在桌面中排列。默认情况下, i3 会在水平的方向分割屏幕;使用 `Mod + v` 来垂直分割,再按 `Mod + h` 会恢复水平分割模式。
![](https://opensource.com/sites/default/files/uploads/i3_3terminal_tiled_small.png)
当需要启动其他的应用,按 `Mod + d` 来打开 `dmenu`,一个简单的文字应用菜单。默认情况下,`dmenu` 会呈现出所有在你 `$PATH` 中设置的应用。使用方向键来选择你想启动的应用,同时你可以键入应用的名称,来缩小选择的范围,之后按 `ENTER` 来启动选择的应用。
当需要启动其他的应用,按 `Mod + d` 来打开 `dmenu`,一个简单的文字应用菜单。默认情况下,`dmenu` 会呈现出所有在你 `$PATH` 中设置的应用。使用方向键来选择你想启动的应用,同时你可以键入应用的名称,来缩小选择的范围,之后按回车键来启动选择的应用。
![](https://opensource.com/sites/default/files/uploads/i3_dmenu.png)
如果你的应用没有提供退出的方法,你可以使用 i3 来关闭对应的窗口,通过按 `Mod + Shift +q`。注意,你可能会丢失未保存的工作内容。
最后,当你想关闭会话并退出 i3`Mod + Shift +e`。之后会在窗口的上方提示你是否退出。点击 `Yes, exit i3` 退出,或选择 `X` 来取消。
最后,当你想关闭会话并退出 i3`Mod + Shift +e`。之后会在窗口的上方提示你是否退出。点击 “Yes, exit i3” 退出,或选择 “X” 来取消。
![](https://opensource.com/sites/default/files/uploads/i3_exit_small.png)
这些就是 i3 中最基本的快捷键,如果想了解更多,请查阅官方文档 [documentation][3]。
这些就是 i3 中最基本的快捷键,如果想了解更多,请查阅官方[文档][3]。
### 4\. 替换GDM
### 4、 替换 GDM
使用 i3 window manager 会降低你操作系统的内存占用然而Fedora 依然会使用 GDM 作为登录的窗口。GDM 会载入几个与 GNOME 相关的库从而占用内存。
使用 i3 窗口管理器会降低你操作系统的内存占用然而Fedora 依然会使用 GDM 作为登录屏。GDM 会载入几个与 GNOME 相关的库从而占用内存。
如果你想进一步的降低你的内存占用,你可以使用一些更轻量级的显示管理器来替换 GDM比如 lightdm
如果你想进一步的降低你的内存占用,你可以使用一些更轻量级的窗口管理器来替换 GDM比如 `lightdm`
```
[ricardo@f28i3 ~]$ sudo dnf install -y lightdm
[ricardo@f28i3 ~]$ sudo systemctl disable gdm
@ -108,7 +112,7 @@ via: https://opensource.com/article/18/8/getting-started-i3-window-manager
作者:[Ricardo Gerardi][a]
选题:[lujun9972](https://github.com/lujun9972)
译者:[sd886393](https://github.com/sd886393)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出

View File

@ -1,52 +0,0 @@
在OpenDev上掌握CI/CD(持续集成/持续发布)
======
![在OpenDev上掌握CI/CD](https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/BUSINESS_opennature_3.png?itok=J1OSECM_)
在2017年启动后OpenDev会议现在是一个年度活动。在去年9月的首届活动上会议的重点是边缘计算。今年的活动将于5月22-23日举行会议的重点是持续集成和持续发布 (CI/CD)并将与OpenStack峰会一起在温哥华举行。
基于我在OpenStack项目的CI/CD系统的技术背景和近期进入容器下的CI/CD方面的经验我被邀请加入OpenDev CI/CD的编程委员会。今天我经常通过很多开源技术例如[Jenkins][3] [GitLab][2],[Spinnaker][4],和[Artifactory][5],来讨论CI/CD流水管线。
这次活动对我来说是很激动人心的因为我们将在这个活动中融合两个开源基础设施理念。首先我们将讨论可以被任何组织使用的CI/CD工具。为此目的在[keynotes][6],我们将听到关于开源CI/CD工具的使用讲座一场来自Boris Renski的关于Spinnaker的和一场来自Jim Blair的关于[Zuul][7]的。同时讲座会涉及关于开源技术的偏好的高级别话题特别是那种跨社区的和本身就是开源项目的。从Fatih Degirmenci和Daniel Farrel那里我们将听到关于在不同社区分享持续发布实践经历接着Benjamin Mako Hill会为我带来一场关于为什么免费软件需要免费工具的分享。
在分享CI/CD相对新颖特性后接下来的活动是对话研讨会和协作讨论的混合组合。当从所提交的讲座和研讨会选择并提出协作讨论主题时我们希望确保有一个多样灵活的日程表这样任何参与者都能在CI/CD活动进程中发现有趣的东西。
这些讲座会是标准的会议风格选择以涵盖关键主题如制作CI/CD管线在实践DevOps时提升安全性以及更具体的解决方案如基于容器关于Kubernetes的[Aptomi][8]和在ETSI NFV环境下CI/CD。这些会话的大部分将会是作为给新接触CI/CD或这些特定技术的参与者关于这些话题和理念的简介。
交互式的研讨会会持续相对比较长的时间,参与者将会在思想上得到特定的体验。这些研讨会包括"[Anomaly Detection in Continous Integration Jobs(在持续集成任务中的异常检测)][9]","[How to Install Zuul and Configure Your First Jobs(如何安装Zuul和配置第一个任务)][10]",和"[Spinnake 101: Releasing Software with Velocity and Confidence(Spinnake 101:快速可靠的软件发布)][11]."(注意这些研讨会空间是有限的所以设立了一个RSVP系统。你们将会在会议的链接里找到一个RSVP的按钮。)
可能最让我最兴奋的是协作讨论这些协作讨论占据了一半以上的活动安排。协作讨论的主题由编程委员会选取。编程委员会是根据我们在社区里所看到选取对应的主题。这是“鱼缸”风格式的会议通常是几个人聚在一个房间里围绕着CI/CD讨论某一个主题。
这次会议风格的理念是来自于开发者峰会最初是由Ubuntu社区提出接着OpenStack社区在活动上采纳。这些协作讨论的主题包含不同的会议这些会议是关于CI/CD基础可以鼓励跨社区协作的提升举措在组织里推行CI/CD文化和为什么开源CI/CD工具如此重要。采用共享文档来做会议笔记以确保尽可能的在会议的过程中分享知识。在讨论过程中提出行动项目也是很常见的因此社区成员可以推动和所涉及的主题相关的倡议。
活动将以联合总结会议结束。联合总结会议将总结来自协同讨论的关键点和为即将在这个领域工作的参与者指出可选的职业范围。
可以在[OpenStack Summit registration(OpenStack峰会注册)][13]上注册参加活动。或者可以在温哥华唯一指定售票的会议中心购买活动的入场券,价格是$199。更多关于票和全部的活动安排见官网[OpenDev website][1]。
我希望你们能够加入我们并在温哥华渡过令人激动的两天并且在这两天的活动中学习协作和在CI/CD取得进展。
--------------------------------------------------------------------------------
via: https://opensource.com/article/18/5/opendev
作者:[Elizabeth K.Joseph][a]
选题:[lujun9972](https://github.com/lujun9972)
译者:[jamelouis](https://github.com/jamelouis)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:https://opensource.com/users/pleia2
[1]:http://2018.opendevconf.com/
[2]:https://about.gitlab.com/
[3]:https://jenkins.io/
[4]:https://www.spinnaker.io/
[5]:https://jfrog.com/artifactory/
[6]:http://2018.opendevconf.com/schedule/
[7]:https://zuul-ci.org/
[8]:http://aptomi.io/
[9]:https://www.openstack.org/summit/vancouver-2018/summit-schedule/events/21692/anomaly-detection-in-continuous-integration-jobs
[10]:https://www.openstack.org/summit/vancouver-2018/summit-schedule/events/21693/how-to-install-zuul-and-configure-your-first-jobs
[11]:https://www.openstack.org/summit/vancouver-2018/summit-schedule/events/21699/spinnaker-101-releasing-software-with-velocity-and-confidence
[12]:https://www.openstack.org/summit/vancouver-2018/summit-schedule/events/21831/opendev-cicd-joint-collab-conclusion
[13]:https://www.eventbrite.com/e/openstack-summit-may-2018-vancouver-tickets-40845826968?aff=VancouverSummit2018