You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The REDCap Deployment project would not be possible without generous contributions from our authors and funders.
4
+
5
+
David R Nelson, Director of the University of Florida Clinical Translational Science Institute, provides funding support for the UF CTSI REDCap team via UF CTSA Award and matching funds from the UF Office of Research.
6
+
7
+
Matthew McConnell provided excellent examples of Fabric API tools in his work on the [Quality Improvement Registry](https://github.com/ctsit/qipr_approver).
8
+
9
+
Philip Chase ([email protected]) was the principle designer on the project. The development team includes Philip Chase, Sreeja Kannagundla, Stewart Wehmeyer, Taryn Stoffs, and Erik C. Schmidt.
10
+
11
+
Taryn Stoffs, Amber L. Allen, Christopher P. Barnes, Matthew McConnell, Patrick F. White, Kevin S. Hanson, and Taryn Stoffs provided valuable contributions to documentation and publications.
Copy file name to clipboardExpand all lines: README.md
+41-12Lines changed: 41 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
## Overview
4
4
5
-
This project provides tools for scripted deployments and upgrades of REDCap instances and the extensions installed within them. The toolset achieves this through scripted building of packages of the REDCap with extensions as well as the scripted deployment of those packages to hosts. The goal of the project is to provide a tool set that can build packages rapidly and consistently across REDCap version numbers and deploy those packages to new and existing REDCap instances. This will reduce the variability between development, testing, and production environments. This in turn will reduce the error rates, the cost of testing, and the costs of upgrading REDCap instances.
5
+
This project provides tools for scripted deployments and upgrades of REDCap instances and the extensions installed within them. The toolset achieves this through scripted building of packages of the REDCap with extensions as well as the scripted deployment of those packages to hosts. The goal of the project is to provide a tool set that can build packages rapidly and consistently across REDCap version numbers and deploy those packages to new and existing REDCap instances. This reduces the variability between development, testing, and production environments. This in turn reduces the error rates, the cost of testing, and the costs of upgrading REDCap instances.
6
6
7
7
Ancillary to this goal, this project provides a local REDCap instance that can be used as an educational REDCap tool and/or a software development test bed. You can use this project for any or all of these goals.
8
8
@@ -17,11 +17,11 @@ root folder of this project. It should not be renamed.
17
17
18
18
### Virtual Machine
19
19
20
-
This project provides a virtual machine wherein it hosts the local REDCap instance. Creating the virtual machine (VM) the software packages Vagrant, VirtualBox, the vagrant-hostsupdater plugin and the vagrant-env plugin be installed on the host system.
20
+
This project provides a virtual machine wherein it hosts the local REDCap instance. Creating the virtual machine (VM) required the software packages Vagrant, VirtualBox, the vagrant-hostsupdater plugin and the vagrant-env plugin be installed on the host system.
21
21
22
22
### Packaging and Deployment
23
23
24
-
The packaging and deployment tools are designed to deploy REDCap to Debian Linux hosts. They may or may not work with non-Debian REDCap hosts and cannot deploy REDCap to Windows hosts. The packaging and deployment tools written using the [Fabric](http://www.fabfile.org/) system. Fabric is written in Python, so both Python 2.7 and Fabric must be installed to do packaging and deployment.
24
+
The packaging and deployment tools are designed to deploy REDCap to Debian Linux hosts. They may or may not work with non-Debian REDCap hosts. They cannot deploy REDCap to Windows hosts. The packaging and deployment tools are written using the [Fabric](http://www.fabfile.org/) system. Fabric is written in Python, so both Python 2.7 and Fabric must be installed to do packaging and deployment.
25
25
26
26
27
27
## Installing dependencies
@@ -41,8 +41,8 @@ On a Mac OSX machine:
41
41
On Mac OSX users using [Homebrew](http://brew.sh/) can install these packages
42
42
using the _brew_ command. Run these commands at a shell:
43
43
44
-
brew install virtualbox
45
-
brew install vagrant
44
+
brew cask install virtualbox
45
+
brew cask install vagrant
46
46
47
47
48
48
### Install Vagrant plugins
@@ -52,7 +52,7 @@ Vagrant will need a few plugins for this VM. On any platform, run these commands
52
52
vagrant plugin install vagrant-hostsupdater
53
53
vagrant plugin install vagrant-env
54
54
55
-
Mac OSX users might enjoy the functionality of the vagrant-triggers plugin. CTS-IT used it to open the Chrome browser to the just -deployed REDCap instance. Run this command at a shell to install it.
55
+
Mac OSX users might enjoy the functionality of the vagrant-triggers plugin. CTS-IT uses it to open the Chrome browser to the root of the web site. Run this command at a shell to install it.
56
56
57
57
vagrant plugin install vagrant-triggers
58
58
@@ -61,9 +61,7 @@ For more details about Vagrant software you can go to [why-vagrant](https://docs
61
61
62
62
### Get your REDCap zip file
63
63
64
-
You must provide a copy of the REDCap software from https://projectredcap.org/. Save the .zip file with its default name to the root of this repository. This ensures the packaging and provisioning scripts can locate the REDCap code when needed.
65
-
66
-
If you put multiple redcap\*.zip files in the root folder, the provisioning script will default to using the one with the highest version number.
64
+
You must provide a copy of the REDCap software from <https://projectredcap.org/>. Save the .zip file with its default name to the root of this repository. This ensures the packaging and provisioning scripts can locate the REDCap code when needed.
67
65
68
66
69
67
## Configure the Virtual Machine
@@ -81,17 +79,48 @@ With the above requirements and configuration completed, start the VM with the c
81
79
82
80
vagrant up
83
81
84
-
After about two minutes, the VM should be accessible at the value you set for _URL\_OF\_DEPLOYED\_APP_ is set to in _.env_ By default this is [http://redcap.dev/redcap/](http://redcap.dev/redcap/)
82
+
The vagrant-hostsupdater plugin will make modifications to your hosts file as the VM starts. If it prompts you for a password, provide the password you use to login to your computer.
83
+
84
+
After about two minutes, the VM should be accessible at the value of the variable _URL\_OF\_DEPLOYED\_APP_ set in _.env_ By default this is [http://redcap.dev/redcap/](http://redcap.dev/redcap/)
85
85
86
86
87
87
## (Re)deploying REDCap with Fabric Tools
88
88
89
-
In addition to the REDCap deployed by the Vagrant provisioning scripts, this repository includes a suite of deployment and upgrade tools that can configure a host for deployment, package REDCap with numerous extensions, deploy a new REDCap instance and upgrade an existing one. You can use these commands any host where you have sufficient privileges or against this vagrant-deployed VM. If you had a REDCap zip file, say redcap7.2.2.zip, you could deploy it to the local Vagrant REDCap instance with these commands:
89
+
In addition to the REDCap deployed by the Vagrant provisioning scripts, this repository includes a suite of deployment and upgrade tools that can configure a host for deployment, package REDCap with numerous extensions, deploy a new REDCap instance and upgrade an existing one. You can use these commands any host where you have sufficient privileges or against this vagrant-deployed VM.
90
+
91
+
### Fabric Prerequisites
92
+
93
+
The Fabric tools require a few python libraries that might not be installed on your computer. To install them run these commands:
94
+
95
+
pip install fabric
96
+
pip install configparser
97
+
pip install pycurl
98
+
pip install cryptography
99
+
100
+
If you have problems install or using these libraries, you might be well-served to setup a Python _virtual environment_. For more information on that see [Virtual Environment Notes](docs/virtual_env_notes.md)
101
+
102
+
103
+
### Configure Fabric for the Virtual Machine
90
104
91
-
fab vagrant setup_server
105
+
The Fabric tools need to be configured for the Vagrant VM before they can be used.
106
+
Copy the file settings/example.vagrant.ini to the name settings/vagrant.ini customize it to your needs.
0 commit comments