Actually add files
This commit is contained in:
98
ci/README.md
98
ci/README.md
@@ -5,100 +5,4 @@ for continuous integration testing by installing the prerequisites needed for
|
||||
Detection Lab. After the prerequisites are installed, the build script is called
|
||||
and the build will begin in a tmux session.
|
||||
|
||||
## Understanding the build process
|
||||
|
||||
Once a PR is created, the contents of that PR will be copied to a CircleCI worker to be tested.
|
||||
The CircleCI worker will evaluate which files have been modified and set environment variables accordingly. There are 4 possible options and 3 different tests:
|
||||
|
||||
1. Code in both the Packer and Vagrant directories was modified
|
||||
* In this case, the CircleCI worker will execute `ci/circle_workflows/packer_and_vagrant_changes.sh`
|
||||
2. Code in neither the Packer and Vagrant directories was modified
|
||||
* In this case, the CircleCI worker will execute the default test `ci/circle_worker/vagrant_changes.sh`
|
||||
3. Code in only the Packer directory was modified
|
||||
* In this case, the CircleCI worker will execute `ci/circle_worker/packer_changes.sh`
|
||||
4. Code in only the Vagrant directory was modified
|
||||
* In this case, the CircleCI worker will execute `ci/circle_worker/vagrant_changes.sh`
|
||||
|
||||
## Test Case Walkthroughs
|
||||
|
||||
### packer_and_vagrant_changes.sh
|
||||
1. Spins up a single Packet server
|
||||
2. Bootstraps the Packet server by calling `ci/build_machine_bootstrap.sh` with no arguments
|
||||
3. Builds the Windows10 and Windows2016 images one at a time
|
||||
4. Moves the resulting boxes to the Boxes directory
|
||||
5. Brings each Vagrant host online one-by-one
|
||||
6. CircleCI records the build results from the Packet server
|
||||
|
||||
### vagrant_changes.sh
|
||||
1. Spins up a single Packet server
|
||||
2. Bootstraps the Packet server by calling `ci/build_machine_bootstrap.sh` with the `--vagrant-only` argument
|
||||
3. Downloads the pre-build Windows10 and Windows2016 boxes from Vagrant Cloud
|
||||
4. Brings each Vagrant host online one-by-one
|
||||
5. CircleCI records the build results from the Packet server
|
||||
|
||||
|
||||
### packer_changes.sh
|
||||
1. Spins up two separate Packet servers to allow the Packer boxes to be built in parallel
|
||||
2. Bootstraps each packet Server by calling `ci/build_machine_bootstrap.sh` with the `--packer-only` argument
|
||||
3. Starts the Packer build process on each server
|
||||
4. CircleCI records the build result from each Packet server
|
||||
|
||||
```
|
||||
+------------+
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| Github |
|
||||
| |
|
||||
| |
|
||||
+------+-----+
|
||||
|
|
||||
|
|
||||
| Pull Request
|
||||
|
|
||||
v
|
||||
+------+-----+
|
||||
| |
|
||||
| |
|
||||
| Circle |
|
||||
+----------------------------->| Worker |
|
||||
| | |
|
||||
| | |
|
||||
| | |
|
||||
| +------+-----+
|
||||
| |
|
||||
| | Code changes are evaluated
|
||||
| | to determine which test suite
|
||||
| | to run
|
||||
| |
|
||||
| v
|
||||
| +----------------+--------------+
|
||||
Circle Worker | | packer_and_vagrant_changes.sh |
|
||||
queries for | | vagrant_changes.sh |
|
||||
build results | | packer_changes.sh |
|
||||
| +----------------+--------------+
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| | 1. Provision Packet server(s)
|
||||
| | 2. Copy repo to server
|
||||
| | 3. Run server bootstrap
|
||||
| | 4. Bootstrap calls build.sh with
|
||||
| | the appropriate arguments
|
||||
| |
|
||||
| |
|
||||
| +---------v---------+
|
||||
| | |
|
||||
| | |
|
||||
| | |
|
||||
+-------------------------->| Packet Server |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
+-------------------+
|
||||
|
||||
```
|
||||

|
||||
|
||||
@@ -6,7 +6,7 @@ export DEBIAN_FRONTEND=noninteractive
|
||||
export SERIALNUMBER="SECRET"
|
||||
export LICENSEFILE="SECRET"
|
||||
|
||||
sed -i 's/archive.ubuntu.com/us.archive.ubuntu.com/g' /etc/apt/sources.list
|
||||
sed -i 's#http://archive.ubuntu.com#http://us.archive.ubuntu.com#g' /etc/apt/sources.list
|
||||
|
||||
# Install VMWare Workstation 15
|
||||
apt-get update
|
||||
|
||||
Reference in New Issue
Block a user