Skip to content

electric-cloud/ET

Repository files navigation

ET - RPM Pipeline

This Electric Flow Pipeline implements an RPM delivery pipeline. The pipeline is implemented as follows:

  1. It builds two artifacts (ET_comp1, ET_comp2) from github repos and publish them to the ElectricFlow artifact repository
  2. It packages these artifacts as an RPM and publishes the RPM to an Apache server (https://<flowserverHostName/RPMs)
  3. It deploys the RPM to Integration, Staging, and PRD enviroments (currenly all target resources are the same CentOS machine)

Dependencies

  1. Flow Ubuntu or CentOS server required. In the case of Ubuntu, RPM packages must be installed.
  2. CentOS agent
  3. EC-WebServerRepo plugin installed and promoted on Flow server
  4. Unplug plugin plugin installed and promoted on Flow server

Installation

  1. If ElectricFlow server is running on Ubuntu, install rpm, sudo apt-get install rpm
  2. Create a git configuration and set it in build.groovy and package.groovy
  3. Edit the IP address for the CentOS target machine in deploy.groovy
  4. Create a EC-WebServerRepo configuration called "rpmRepo"
  5. Run the script ./install.sh
  6. 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

Instructions

  1. Run the release
  2. See evidence links under stage summaries
  3. The Application can be run from snapshots created by the release pipeline
  4. RPM Inventory and content can be viewed at https://FlowHostName/commander/pages/unplug/un_runc
  5. 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"

TODO

  • Flow server URL lookup for RPM

About

Flow DSL to implement RPM-based product pipeline

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published