使用 Jenkins 安装 OpenStack 云

学习如何安装和配置 Jenkins 自动化服务器,并创建一个作业来安装 OpenStack 云。
284 位读者喜欢这篇文章。
Cloud and mountain scene

Chris Hermansen。 CC BY-SA 4.0

Jenkins 是一个著名的自动化服务器,常用于自动化构建、测试和部署应用程序的持续集成/持续开发 (CI/CD) 格式的任务。在本教程中,我将解释如何安装和配置 Jenkins,并创建一个作业来安装 PackStack(一个概念验证的 OpenStack 云)。

对于本操作指南,我在 GNOME Boxes 中创建了一个 CentOS VM,它将用作运行 Jenkins master,并在同一台机器上部署作业。Jenkins 默认使用端口 8080,因此请确保该端口未被使用。Jenkins 也可以作为 Docker 容器安装。

1. 下载 通用 Java WAR 文件。

2. 在终端中,切换到下载目录并执行以下命令

java -jar jenkins.war

Installing Jenkins

opensource.com

3. 转到 http://localhost:8080 并从给定的路径复制密码

cat /home/jenkins/.jenkins/secrets/initialAdminPassword

Adding password

opensource.com

4. 创建第一个管理员用户。

Creating admin user

opensource.com

5. 将您的 SSH 密钥(位于 ~/.ssh/id_rsa.pub 下)添加到 用户名(右上角)→配置→SSH 公钥。这将用于 SSH 进入主机而无需提供密码。如果您没有 id_rsa.pub,可以使用 ssh-keygen 命令创建一个密钥。最初,您必须执行 ssh-copy-id user@host-ip 来设置无密码身份验证。

Adding SSH key

opensource.com

此外,应将您的 Jenkins 用户添加到 wheel 组,并应具有无密码 sudo 权限,如下所示。

Adding passwordless sudo

opensource.com

6. 为您的管理员用户和其他用户配置基于矩阵的安全。默认情况下,Jenkins 为任何用户提供所有权限,这完全不推荐。我已将所有权限授予管理员用户。

Configuring matrix-based security

opensource.com

7. 现在开始有趣的部分!单击新建项目,输入项目名称 PackStack,然后选择自由风格项目。项目类型有很多种,但其他类型不在本文的范围之内。

Entering PackStack project

opensource.com

8. 为作业添加描述(可选)。

Adding a description to the PackStack project

opensource.com

转到 构建→添加构建步骤→执行 shell。其中写入的任何内容都将作为 Shell 脚本执行。

Execute shell

opensource.com

我已经编写了以下 PackStack 部署 shell 脚本,您可以使用它

sudo yum install -y centos-release-openstack-queens 
sudo yum update -y 2>&1
sudo yum install -y openstack-packstack
sudo packstack –allinone
notify-send "Hi" "Your PackStack cloud is deployed at `sudo cat /root/keystonerc_admin | grep OS_AUTH_URL | awk -F "=" '{print $2}'`"

9. 保存作业后,单击立即构建以执行您的项目。因为我在脚本中包含了一个 notify-send 命令,所以我看到了一个通知(在下面屏幕截图的右上角),指示我的 PackStack 云已部署。您可以配置 SMTP 服务器并在每次构建后添加电子邮件通知。

Build success

opensource.com

构建历史记录显示了所有过去构建的历史记录和状态。默认情况下,Jenkins 使用以下颜色代码

  • 蓝色:构建成功
  • 红色:构建失败
  • 灰色:构建已中止或未构建
  • 黄色:构建不稳定

如果您喜欢使用绿色指示器表示构建成功,则可以安装 Green Balls 插件。

注意:此处 Jenkins 是以“jenkins”用户身份登录安装的,仅用于概念验证目的。

本教程到此结束;请继续关注更多内容。

评论已关闭。

Creative Commons License本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© 2025 open-source.net.cn. All rights reserved.