|
1 | | -# Build RabbitMQ Windows Package using Windows |
| 1 | +# Build RabbitMQ Windows Package |
2 | 2 |
|
3 | | -## Environment |
| 3 | +The RabbitMQ Windows installer is produced on Linux, together |
| 4 | +with the rest of the packages. |
4 | 5 |
|
5 | | -Windows 8.1 using this `Vagrantfile`: |
6 | | - |
7 | | -``` |
8 | | -Vagrant.configure("2") do |config| |
9 | | - config.vm.box = "inclusivedesign/windows81-eval-x64" |
10 | | - config.vm.provider "virtualbox" do |v| |
11 | | - v.gui = true |
12 | | - end |
13 | | -end |
14 | | -``` |
15 | | - |
16 | | -Note that these steps should work on more recent versions of Windows as well. |
17 | | -If you have issues using a newer version of Windows, please provide full |
18 | | -details in a message to the |
19 | | -[`rabbitmq-users`](https://groups.google.com/forum/#!forum/rabbitmq-users) |
20 | | -mailing list. |
21 | | - |
22 | | -## Initial Steps |
23 | | - |
24 | | -Bring up the VM and go through the process of updating Windows and (optionall) |
25 | | -VirtualBox tools. You'll notice that the evaluation license is expired. Re-arm |
26 | | -it by running this command via an administrative prompt: |
27 | | - |
28 | | -``` |
29 | | -slmgr -rearm |
30 | | -``` |
31 | | - |
32 | | -This part of the process will take a while as Windows is updated. Go make some |
33 | | -coffee and check your email. |
34 | | - |
35 | | -## Install Erlang and Elixir |
36 | | - |
37 | | -Using Chocolatey is the easiest method to install the most recent version of |
38 | | -Erlang and Elixir. Install Chocolatey [using these |
39 | | -instructions](https://chocolatey.org/install#installing-chocolatey) |
40 | | -([link](https://chocolatey.org/install#installing-chocolatey)), then install |
41 | | -both Erlang and Elixir using this command from an *administrative* `cmd.exe` or |
42 | | -Powershell terminal: |
43 | | - |
44 | | -``` |
45 | | -choco install elixir which |
46 | | -``` |
47 | | - |
48 | | -To confirm installation, open a new command prompt and run the following: |
49 | | - |
50 | | -``` |
51 | | -erl -version |
52 | | -elixir -v |
53 | | -which erl |
54 | | -which elixir |
55 | | -``` |
56 | | - |
57 | | -## Install MSYS2 and NSIS |
58 | | - |
59 | | -Chocolatey is also an easy way to install `msys2` and the NSIS install script |
60 | | -builder. Run the following from an *administrative* command prompt: |
61 | | - |
62 | | -``` |
63 | | -choco install msys2 nsis |
64 | | -``` |
65 | | - |
66 | | -As a bonus, it will update your `msys2` installation for you during the initial |
67 | | -install process. |
68 | | - |
69 | | -## Install MSYS2 packages |
70 | | - |
71 | | -Start up an `msys2` shell by running the following command (does not have to be |
72 | | -admin): |
73 | | - |
74 | | -``` |
75 | | -C:\tools\msys64\msys2_shell.cmd |
76 | | -``` |
77 | | - |
78 | | -In that shell, install all of these dependencies. If you are prompted for |
79 | | -input, just hit ENTER to choose the default: |
80 | | - |
81 | | -``` |
82 | | -pacman -S --needed git make tar rsync python zip unzip dos2unix man |
83 | | -``` |
84 | | - |
85 | | -## Build RabbitMQ |
86 | | - |
87 | | -### Clone this repository |
88 | | - |
89 | | -From within your MSYS2 shell: |
90 | | - |
91 | | -``` |
92 | | -git clone https://github.com/rabbitmq/rabbitmq-server-release.git |
93 | | -``` |
94 | | - |
95 | | -### Set `PATH` |
96 | | - |
97 | | -``` |
98 | | -export PATH="$PATH:/c/ProgramData/Chocolatey/bin:/c/ProgramData/Chocolatey/lib/Elixir/bin:/c/Program Files (x86)/NSIS/bin" |
99 | | -``` |
100 | | - |
101 | | -### Fetch and build deps |
102 | | - |
103 | | -*Note:* as of this writing, RabbitMQ `3.7.8` is the latest version. Be sure to check out the tag appropriate for your use: |
104 | | - |
105 | | -``` |
106 | | -cd rabbitmq-server-release |
107 | | -
|
108 | | -# the following checks out the "next to be released" branch |
109 | | -# this branch and version 3.7.9 have a necessary fix for building |
110 | | -# on windows, see this: https://github.com/rabbitmq/rabbitmq-server-release/pull/89 |
111 | | -
|
112 | | -git checkout v3.7.x |
113 | | -
|
114 | | -make deps |
115 | | -``` |
116 | | - |
117 | | -### Build Windows package |
118 | | - |
119 | | -``` |
120 | | -make UNIX_TO_DOS=unix2dos package-windows |
121 | | -``` |
| 6 | +See [`rabbitmq/build-env-images`](https://github.com/rabbitmq/build-env-images) and [`rabbitmq/server-packages`](https://github.com/rabbitmq/server-packages?tab=readme-ov-file). |
0 commit comments