当前位置: 首页 > 软件库 > 云计算 > >

elastic-ci-stack-for-aws

授权协议 MIT License
开发语言 Java
所属分类 云计算
软件类型 开源软件
地区 不详
投 递 者 公羊喜
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Elastic CI Stack for AWS

Buildkite Elastic CI Stack for AWS

Buildkite is a platform for running fast, secure, and scalable continuous integration pipelines on your own infrastructure.

The Buildkite Elastic CI Stack for AWS gives you a private, autoscalingBuildkite Agent cluster. Use it to parallelizelarge test suites across thousands of nodes, run tests and deployments for Linux or Windowsbased services and apps, or run AWS ops tasks.

Getting started

See the Elastic CI Stack for AWS tutorial for a step-by-step guide, the Elastic CI Stack for AWS documentation, or the full list of recommended resources for detailed information.

Or jump straight in:

The current release is . See Releases for older releases.

Although the stack creates its own VPC by default, we highly recommend following best practice by setting up a separate development AWS account and using role switching and consolidated billing — see the Delegate Access Across AWS Accounts tutorial for more information.

If you want to use the AWS CLI, download config.json.example, rename it to config.json, and then run the below command:

aws cloudformation create-stack \
  --output text \
  --stack-name buildkite \
  --template-url "https://s3.amazonaws.com/buildkite-aws-stack/latest/aws-stack.yml" \
  --capabilities CAPABILITY_IAM CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND \
  --parameters "$(cat config.json)"

Supported Features

Most features are supported across both Linux and Windows. See below for detailsof per-operating system support:

Feature Linux Windows
Docker
Docker Compose
AWS CLI
S3 Secrets Bucket
ECR Login
Docker Login
CloudWatch Logs Agent
Per-Instance Bootstrap Script
��‍�� git-mirrors experiment
SSM Access
Instance Storage (NVMe)
SSH Access
Periodic authorized_keys Refresh
Periodic Instance Health Check
git lfs
Additional sudo Permissions
RDP Access

Security

This repository hasn't been reviewed by security researchers so exercise caution and careful thought with what credentials you make available to your builds.

Anyone with commit access to your codebase (including third-party pull-requests if you've enabled them in Buildkite) will have access to your secrets bucket files.

Also keep in mind the EC2 HTTP metadata server is available from within builds, which means builds act with the same IAM permissions as the instance.

Limiting CloudFormation Permissions

By default, CloudFormation will operate using the permissions granted to theidentity of the credentials used to initiate a stack deployment or update.

If you want to explicitly specify which actions CloudFormation can perform onyour behalf, you can either create your stack using credentials for an IAMidentity with limited permissions, or provide an AWS CloudFormation service role.

��‍�� templates/service-role.yml template contains anexperimental service role and set of IAM Policies that list the IAMActions necessary to create, update, and delete a CloudFormation Stack createdwith the Buildkite Elastic CI Stack template. The role created by this templateis currently being tested, but it has not been tested enough to be depended on.There are likely to be missing permissions for some stack parameterpermutations.

aws cloudformation deploy --template-file templates/service-role.yml --stack-name buildkite-elastic-ci-stack-service-role --region us-east-1 --capabilities CAPABILITY_IAM

Development

To get started with customizing your own stack, or contributing fixes and features:

# Checkout all submodules
git submodule update --init --recursive

# Build all AMIs and render a cloud formation template - this requires AWS credentials (in the ENV)
# to build an AMI with packer
make build

# To create a new stack on AWS using the local template
make create-stack

# You can use any of the AWS* environment variables that the aws-cli supports
AWS_PROFILE="some-profile" make create-stack

# You can also use aws-vault or similar
aws-vault exec some-profile -- make create-stack

If you need to build your own AMI (because you've changed something in thepacker directory), run packer with AWS credentials in your shell environment:

make packer

This will boot and image three AWS EC2 instances in your account’s us-east-1default VPC:

  • Linux (64-bit x86)
  • Linux (64-bit Arm)
  • Windows (64-bit x86)

Support Policy

We provide support for security and bug fixes on the current major release only.

If there are any changes in the master branch since the last tagged release, weaim to publish a new tagged release of this template at the end of each month.

AWS Regions

We support all AWS Regions, except China and US GovCloud.

We aim to support new regions within one month of general availability.

Operating Systems

We build and deploy the following AMIs to all our supported regions:

  • Amazon Linux 2 (64-bit x86)
  • Amazon Linux 2 (64-bit Arm)
  • Windows Server 2019 (64-bit x86)

Buildkite Agent

The Elastic CI Stack template published from the master branchtracks the latest Buildkite Agent release.

You may wish to preview any updates to your stack from this templateusing a CloudFormation Stack Change Setto decide whether to apply it.

Recommended reading

To gain a better understanding of how Elastic CI Stack works and how to use it most effectively and securely, see the following resources:

Questions and support

Feel free to drop an email to support@buildkite.com with questions. It helps us if you can provide the following details:

# List your stack parameters
aws cloudformation describe-stacks --stack-name MY_STACK_NAME \
  --query 'Stacks[].Parameters[].[ParameterKey,ParameterValue]' --output table

Provide us with logs from CloudWatch Logs:

/buildkite/elastic-stack/{instance-id}
/buildkite/systemd/{instance-id}

You can also drop by #aws-stack and #aws channels in Buildkite Community Slack and ask your question!

Licence

See Licence.md (MIT)

  • CloudFormation CloudFormation归类在Management & Governance下,它有很多模板可以直接使用,模板实际上是包含配置的文本文件,使用模板可以用很简单的操作可以创建,重复创建和设置很复杂的应用。 这里做一个简单的测试,点Create stack,取名: XiongStack,再使用Use a sample template,使用已有的模板,创建一个Word

  • 设置Elasticsearch 本节包括如何设置Elasticsearch并使其运行的信息,包括: 下载 安装 开始 配置 支持的平台上 这里提供了官方支持的操作系统和jvm的矩阵:Support matrix。Elasticsearch在列出的平台上进行了测试,但也有可能在其他平台上运行。 Java (JVM)版本 Elasticsearch使用Java构建,并在每个发行版中包含JDK维护者(G

  • aws联合用户 This write-up outlines methods of working with the AWS Secure Token Service (STS) and Federated user accounts, where Google has been established as the Identity Provider. It is based on a rece

 相关资料
  • Elastic Stack 是一系列开源产品的合集,包括 Elasticsearch、Kibana、Logstash 以及 Beats 等等,能够安全可靠地获取任何来源、任何格式的数据,并且能够实时地对数据进行搜索、分析和可视化。 Kibana —— 实现数据可视化,导览 Elastic Stack。 Kibana 能够以图表的形式呈现数据,并且具有可扩展的用户界面,供你全方位配置和管理 Elas

  • BitNami Stack for Piwik 是 Piwik 的一键安装套件,包括预先配置好的 Apache, MySQL, PHP, and phpMyAdmin

  • Min Stack 描述 Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. push(x) -- Push element x onto stack. pop() -- Removes the element on top of the stack. t

  • Implement Stack using Queues 描述 Implement the following operations of a stack using queues. push(x) -- Push element x onto stack. pop() -- Removes the element on top of the stack. top() -- Get the top

  • Elastic 是一个简单的 CSS 框架用来对网页进行布局。Elastic 可实现各种各样常见的网页布局,如下图所示: 常见的网页布局示例请看这里,所有的这些都是通过CSS进行控制的,非表格。 以下是一些演示网站:

  • 它代表了一个后进先出的对象集合。 当您需要后进先出的项目访问时使用它。 当你在列表中添加一个项目时,它被称为推送项目,当你删除它时,它被称为弹出项目。 堆栈类的属性和方法 下表列出了Stack类的一些常用properties - Sr.No 财产和描述 1 Count 获取Stack中包含的元素数。 下表列出了Stack类的一些常用methods - Sr.No. 方法名称和目的 1 Public