Building CentOS AMI
Amos Jianjun Kong edited this page Dec 15, 2016
·
8 revisions
CentOS7 - AMI build script only works on CentOS7.
Create dist/ami/variables.json with following format, specify AMI variables:
{
"access_key": "xxx",
"secret_key": "xxx",
"subnet_id": "subnet-xxx",
"security_group_id": "sg-xxx",
"region": "us-east-1",
"associate_public_ip_address": "true",
"instance_type": "c4.xlarge",
"ami_prefix": "YOUR_NAME-"
}
You can use dist/ami/variables.json.example as template.
If you want to make AMI with modified scylla source code, this is what you want. Please be sure everything is committed, RPM build script drops uncommitted files.
To build AMI from locally built rpm, run
./dist/ami/build_ami.sh --localrpm
Since build script skips building rpm when it's already exists on dist/ami/files/, please rm dist/ami/files/scylla-server.x86_64.rpm when you want to build AMI with new rpm.
To build AMI from unstable yum repository, run
./dist/ami/build_ami.sh --repo http://downloads.scylladb.com.s3.amazonaws.com/rpm/unstable/centos/master/latest/scylla.repo
To build AMI from release yum repository, run
./dist/ami/build_ami.sh
sudo rm -rf scylla_new
git clone https://github.com/scylladb/scylla scylla_new
cd scylla_new
## different branch uses different submodules, first checkout to right scylla branch (same as your branch)
git checkout -b branch-1.5 remotes/origin/branch-1.5
## init the submoudles
git submodule init
## checkout your own branch
git remote add glommer git@github.com:glommer/scylla.git
git fetch glommer
git checkout -b dev_branch remotes/glommer/for-amos-1.5-preview
## update submodules (which is using the right url)
git submodule update --init --recursive
sudo ./dist/ami/build_ami.sh --localrpm
sudo rm -rf scylla_new
git clone https://github.com/scylladb/scylla scylla_new
cd scylla_new
git submodule init
git submodule update --init --recursive
## add scylla-seastar of upstream
cd seastar
git remote add scylla-seastar git@github.com:scylladb/scylla-seastar.git
git fetch scylla-seastar
cd -
git remote add glommer git@github.com:glommer/scylla.git
git fetch glommer
git checkout -b dev_branch remotes/glommer/for-amos-1.5-preview
## reupdate submodules
git submodule update --init --recursive
sudo ./dist/ami/build_ami.sh --localrpm