2 ms·
The deployment is rather strange. You run a shell script which uses apt-get (so Debian/Ubuntu only) to install python and Fabric, downloads a fabfile, and runs
by rjh29 13y ago
The deployment is rather strange. You run a shell script which uses apt-get (so Debian/Ubuntu only) to install python and Fabric, downloads a fabfile, and runs it.
The fabfile.py script then does a number of operations including adding a PPA to your apt repository list, installing more stuff via apt-get, and downloading and manually installing random tarballs from the internet.
Here are some interesting examples from the deployment script:
@task
def uninstall_couchdb():
"""
Install CouchDB 1.3.0
"""
require_file(url='http://apache.crihan.fr/dist/couchdb/source/' +
'1.3.0/apache-couchdb-1.3.0.tar.gz')
@task
def uninstall_redis():
'''
Uninstall Redis 2.4.14
'''
su_delete('/var/lib/redis')
su_delete('/var/db/redis')
su_delete('/var/log/redis')
su_delete('/var/run/redis')
su_delete('/opt/redis-2.4.14')
su_delete('/etc/redis')
su_delete('/etc/supervisor/conf.d/redis_cozy.conf')
supervisor.update_config()
print(green("Redis 2.4.14 successfully uninstalled"))
I am interested to know what issues the author had with getting deployment to work via traditional means (such as producing a .deb package out of the product that would be easy to install and uninstall, and have the appropriate dependencies properly set up). While this approach is quick and easy, I can't help but feel that it is prone to breakage and difficult to manage, especially in more professional environments.
- gelnior 13y agoThank you rjh29 for your feedbacks about the installation script. Here are some additional informations: * The script installs with apt-get what is possible to install with this tools. The tarballs downloaded are not random tarballs, they are specific version of the required modules. * About the debian package, that's really an hard job to set-up a proper package when so many modules are involved. But you're right it would make things cleaner. * Remember that Cozy is a FOSS project. We'll be glad to discuss about it through our issue list. You can propose improvements via a pull request too.