summaryrefslogtreecommitdiff
path: root/deployment.rst
blob: 2a5ee9f09b04e8ed25dda05f1a5649a3c3085c43 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
===================
Deployment Protocol
===================

------
Wallet
------

.. code-block:: none

  $ cd wallet-webex

  # check dependencies
  $ ./configure

  # edit version and version_name
  $ $EDITOR manifest.json

  $ make package-stable

The built wallet is now ready in `taler-wallet-stable-${version_name}${version}.zip`.  

FIXME:  here, we should do some semi-automated testing with selenium, to see
that everything works against `demo.taler.net`.

The package can now be uploaded to https://chrome.google.com/webstore/developer/dashboard

FIXME:  include asset links and descriptions we use in the webstore in this document

FIXME:  include instructions for other app stores


--------------------
Deploying to stable
--------------------

First, make sure that the deployment *AND* the deployment scripts work on the `test.taler.net` deployment.

For all repositories that have a separate stable branch (currently exchange.git,
merchant.git, merchant-frontends.git, bank.git, landing.git) do:

.. code-block:: none

  $ cd $REPO
  $ git pull origin master stable
  $ git checkout stable
  
  # option a: resolve conflicts resulting from hotfixes
  $ git merge master
  $ ...

  # option b: force stable to master
  $ git update-ref refs/heads/stable master

  $ git push # possibly with --force

  # continue development
  $ git checkout master


Log into taler.net with the account that is *not* active by looking
at the `sockets` symlink of the `demo` account.

The following instructions wipe out the old deployment completely.

.. code-block:: none

  $ ls -l ~demo/sockets
  
  [...] sockets -> /home/demo-green/sockets/

In this case, `demo-green` is the active deployment, and `demo-blue` should be updated.
After the update is over, the `/home/demo/sockets` symlink will be pointed to `demo-blue`.

.. code-block:: none

  # Remove all existing files
  $ find $HOME -exec rm -fr {} \;

  $ git clone /var/git/deployment.git
  $ ./deployment/bootstrap-bluegreen demo

  # set environment appropriately
  $ . activate
  $ taler-deployment-build

  # upgrade the database!  this
  # process depends on the specific version

  $ taler-deployment-start

  # look at the logs, verify that everything is okay

Now the symlink can be updated.



------------------
Database upgrades
------------------

The exchange db can be re-initialized with

.. code-block:: none

  $ taler-exchange-dbinit -r

CAUTION: YOU WILL LOSE ALL DATA WITH THIS!