This Electric Flow Pipeline implements an RPM delivery pipeline. The pipeline is implemented as follows:
- It builds two artifacts (ET_comp1, ET_comp2) from github repos and publish them to the ElectricFlow artifact repository
- It packages these artifacts as an RPM and publishes the RPM to an Apache server (https://<flowserverHostName/RPMs)
- It deploys the RPM to Integration, Staging, and PRD enviroments (currenly all target resources are the same CentOS machine)
- Flow Ubuntu or CentOS server required. In the case of Ubuntu, RPM packages must be installed.
- CentOS agent
- EC-WebServerRepo plugin installed and promoted on Flow server
- Unplug plugin plugin installed and promoted on Flow server
- If ElectricFlow server is running on Ubuntu, install rpm,
sudo apt-get install rpm
- Create a git configuration and set it in build.groovy and package.groovy
- Edit the IP address for the CentOS target machine in deploy.groovy
- Create a EC-WebServerRepo configuration called "rpmRepo"
- Run the script
./install.sh
- Enable directory listing to Apache file server, add the following lines to /opt/electriccloud/electriccommander/apache/conf/httpd.conf:
<Directory /opt/electriccloud/electriccommander/apache/htdocs/RPMs>
Options +Indexes
</Directory>
and restart Apache:
sudo /etc/init.d/commanderApache restart
- Run the release
- See evidence links under stage summaries
- The Application can be run from snapshots created by the release pipeline
- RPM Inventory and content can be viewed at https://FlowHostName/commander/pages/unplug/un_runc
- You can introduce a deploy time error to show roll-back by editing the file utils.spec_template at https://github.com/electric-cloud/ET_rpm; set exit statement to "exit 1"
- Flow server URL lookup for RPM