1
1
FROM gitpod/workspace-full
2
2
3
3
# Setup environment (software versions)
4
+ ENV BEHAT="v3.9.0"
5
+ ENV CAPTAINHOOK="5.10.4"
4
6
ENV COMPOSER="2.1.9"
5
- ENV ROBO= "3.0.4 "
7
+ ENV COMPOSER_NORMALIZE= "2.15.0 "
6
8
ENV DRUPALORG_CLI="0.3.2"
7
- ENV DRUPAL_CODE_GENERATOR="2.1.1 "
9
+ ENV DRUPAL_CODE_GENERATOR="2.2.0 "
8
10
ENV GRUMPHP="v1.5.0"
9
- ENV COMPOSER_NORMALIZE="2.15.0"
11
+ ENV PHAN="5.2.1"
12
+ ENV PHPMETRICS="v2.7.3"
13
+ ENV ROBO="3.0.4"
10
14
11
15
SHELL ["/bin/bash" , "-c" ]
12
16
13
17
RUN sudo apt-get -qq update && sudo apt-get install -y \
18
+ ansible \
14
19
rsync \
15
20
git-svn \
16
21
screen \
17
22
tmux \
18
23
sass
19
24
20
25
# Install ruby gems
21
- RUN sudo gem install \
26
+ RUN gem install --user-install --quiet \
22
27
teamocil \
23
28
capistrano
24
29
30
+ # Add gem bin to path
31
+ RUN export GEM_HOME="$(ruby -e 'puts Gem.user_dir')" >> ~/.bashrc && \
32
+ export PATH="$PATH:$GEM_HOME/bin" >> ~/.bashrc && \
33
+ export GEM_HOME="$(ruby -e 'puts Gem.user_dir')" >> ~/.zshrc && \
34
+ export PATH="$PATH:$GEM_HOME/bin" >> ~/.zshrc
35
+
25
36
# Install composer 2.x (replace existing)
26
- RUN sudo wget -q https://getcomposer.org/download/${COMPOSER}/composer.phar && \
37
+ RUN sudo wget --quiet - q https://getcomposer.org/download/${COMPOSER}/composer.phar && \
27
38
sudo chmod +x composer.phar && \
28
39
sudo mv composer.phar /usr/bin/composer && \
29
40
echo "export PATH=\"\$ HOME/.config/composer/vendor/bin:\$ PATH\" " >> ~/.bashrc && \
30
41
echo "export PATH=\"\$ HOME/.config/composer/vendor/bin:\$ PATH\" " >> ~/.zshrc
31
42
32
43
# Install global composer packages
33
- RUN composer global require \
44
+ RUN composer global require --quiet \
34
45
szeidler/composer-patches-cli \
35
46
tightenco/takeout \
36
47
andres-montanez/magallanes \
37
- consolidation/cgr
48
+ consolidation/cgr \
49
+ mglaman/drupal-check
38
50
39
- # Install robo
40
- RUN sudo wget https://github.com/consolidation/Robo/releases/download/${ROBO}/robo.phar && \
41
- sudo chmod +x robo.phar && \
42
- sudo mv robo.phar /usr/bin/robo
51
+ # Install behat
52
+ RUN sudo wget --quiet https://github.com/Behat/Behat/releases/download/${BEHAT}/behat.phar && \
53
+ sudo chmod +x behat.phar && \
54
+ sudo mv behat.phar /usr/local/bin/behat
55
+
56
+ # Install captainhook
57
+ RUN sudo wget --quiet https://github.com/captainhookphp/captainhook/releases/download/${CAPTAINHOOK}/captainhook.phar && \
58
+ sudo chmod +x captainhook.phar && \
59
+ sudo mv captainhook.phar /usr/local/bin/captainhook
60
+
61
+ # Install codeception
62
+ RUN sudo wget --quiet http://codeception.com/codecept.phar && \
63
+ sudo chmod +x codecept.phar && \
64
+ sudo mv codecept.phar /usr/local/bin/codecept
43
65
44
66
# Install drush-lanucher
45
- RUN sudo wget -O drush.phar https://github.com/drush-ops/drush-launcher/releases/latest/download/drush.phar && \
67
+ RUN sudo wget --quiet - O drush.phar https://github.com/drush-ops/drush-launcher/releases/latest/download/drush.phar && \
46
68
sudo chmod +x drush.phar && \
47
69
sudo mv drush.phar /usr/local/bin/drush
48
70
49
71
# Install drupalorg-cli
50
- RUN sudo wget https://github.com/mglaman/drupalorg-cli/releases/download/${DRUPALORG_CLI}/drupalorg.phar && \
72
+ RUN sudo wget --quiet https://github.com/mglaman/drupalorg-cli/releases/download/${DRUPALORG_CLI}/drupalorg.phar && \
51
73
sudo chmod +x drupalorg.phar && \
52
74
sudo mv drupalorg.phar /usr/local/bin/drupalorg
53
75
54
76
# Install drupal-code-generator
55
- RUN sudo wget https://github.com/Chi-teck/drupal-code-generator/releases/download/${DRUPAL_CODE_GENERATOR}/dcg.phar && \
77
+ RUN sudo wget --quiet https://github.com/Chi-teck/drupal-code-generator/releases/download/${DRUPAL_CODE_GENERATOR}/dcg.phar && \
56
78
sudo chmod +x dcg.phar && \
57
79
sudo mv dcg.phar /usr/local/bin/dcg
58
80
59
81
# Install deployer
60
- RUN sudo curl -LO https://deployer.org/deployer.phar && \
82
+ RUN sudo wget --quiet https://deployer.org/deployer.phar && \
61
83
sudo chmod +x deployer.phar && \
62
84
sudo mv deployer.phar /usr/local/bin/dep
63
85
64
- # Install phpcs
65
- RUN sudo wget https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar && \
66
- sudo chmod +x phpcs.phar && \
67
- sudo mv phpcs.phar /usr/local/bin/phpcs
68
-
69
- # Install phpcbf
70
- RUN sudo wget https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar && \
71
- sudo chmod +x phpcbf.phar && \
72
- sudo mv phpcbf.phar /usr/local/bin/phpcbf
86
+ # Install grumphp
87
+ RUN sudo wget --quiet https://github.com/phpro/grumphp/releases/download/${GRUMPHP}/grumphp.phar && \
88
+ sudo chmod +x grumphp.phar && \
89
+ sudo mv grumphp.phar /usr/local/bin/grumphp
73
90
74
- # Install phive
75
- RUN sudo wget https://phar.io/ releases/phive .phar && \
76
- sudo chmod +x phive .phar && \
77
- sudo mv phive .phar /usr/local/bin/phive
91
+ # Install phan
92
+ RUN sudo wget --quiet https://github.com/phan/phan/ releases/download/${PHAN}/phan .phar && \
93
+ sudo chmod +x phan .phar && \
94
+ sudo mv phan .phar /usr/local/bin/phan
78
95
79
96
# Install phing
80
- RUN sudo wget https://www.phing.info/get/phing-latest.phar && \
97
+ RUN sudo wget --quiet https://www.phing.info/get/phing-latest.phar && \
81
98
sudo chmod +x phing-latest.phar && \
82
99
sudo mv phing-latest.phar /usr/local/bin/phing
83
100
101
+ # Install phive
102
+ RUN sudo wget --quiet https://phar.io/releases/phive.phar && \
103
+ sudo chmod +x phive.phar && \
104
+ sudo mv phive.phar /usr/local/bin/phive
105
+
84
106
# Install phpmd
85
- RUN sudo wget https://phpmd.org/static/latest/phpmd.phar && \
107
+ RUN sudo wget --quiet https://phpmd.org/static/latest/phpmd.phar && \
86
108
sudo chmod +x phpmd.phar && \
87
109
sudo mv phpmd.phar /usr/local/bin/phpmd
88
110
89
- # Install grumphp
90
- RUN sudo wget https://github.com/phpro/grumphp/releases/download/${GRUMPHP}/grumphp.phar && \
91
- sudo chmod +x grumphp.phar && \
92
- sudo mv grumphp.phar /usr/local/bin/grumphp
111
+ # Install phpcpd
112
+ RUN sudo wget --quiet https://phar.phpunit.de/phpcpd.phar && \
113
+ sudo chmod +x phpcpd.phar && \
114
+ sudo mv phpcpd.phar /usr/local/bin/phpcpd
115
+
116
+ # Install phpcs
117
+ RUN sudo wget --quiet https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar && \
118
+ sudo chmod +x phpcs.phar && \
119
+ sudo mv phpcs.phar /usr/local/bin/phpcs
120
+
121
+ # Install phpcbf
122
+ RUN sudo wget --quiet https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar && \
123
+ sudo chmod +x phpcbf.phar && \
124
+ sudo mv phpcbf.phar /usr/local/bin/phpcbf
125
+
126
+ # Install phpmetrics
127
+ RUN sudo wget --quiet https://github.com/phpmetrics/PhpMetrics/releases/download/${PHPMETRICS}/phpmetrics.phar && \
128
+ sudo chmod +x phpmetrics.phar && \
129
+ sudo mv phpmetrics.phar /usr/local/bin/phpmetrics
130
+
131
+ # Install robo
132
+ RUN sudo wget --quiet https://github.com/consolidation/Robo/releases/download/${ROBO}/robo.phar && \
133
+ sudo chmod +x robo.phar && \
134
+ sudo mv robo.phar /usr/bin/robo
135
+
136
+ # Install security-checker
137
+ RUN sudo wget --quiet https://www.laravel-enlightn.com/security-checker.phar && \
138
+ sudo chmod +x security-checker.phar && \
139
+ sudo mv security-checker.phar /usr/local/bin/security-checker
93
140
94
141
# Install composer-normalize
95
- RUN sudo wget https://github.com/ergebnis/composer-normalize/releases/download/${COMPOSER_NORMALIZE}/composer-normalize.phar && \
142
+ RUN sudo wget --quiet https://github.com/ergebnis/composer-normalize/releases/download/${COMPOSER_NORMALIZE}/composer-normalize.phar && \
96
143
sudo chmod +x composer-normalize.phar && \
97
144
sudo mv composer-normalize.phar /usr/local/bin/composer-normalize
98
145
99
146
# Install phpbrew
100
- RUN sudo curl -LO https://github.com/phpbrew/phpbrew/releases/latest/download/phpbrew.phar && \
147
+ RUN sudo wget --quiet https://github.com/phpbrew/phpbrew/releases/latest/download/phpbrew.phar && \
101
148
sudo chmod +x phpbrew.phar && \
102
149
sudo mv phpbrew.phar /usr/local/bin/phpbrew && \
103
150
echo -e "[[ -e ~/.phpbrew/bashrc ]]" >> ~/.bashrc && \
104
151
echo -e "[[ -e ~/.phpbrew/zshrc ]]" >> .zshrc
105
152
153
+ # Install wp-cli
154
+ RUN sudo wget --quiet https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar && \
155
+ sudo chmod +x wp-cli.phar && \
156
+ sudo mv wp-cli.phar /usr/local/bin/wp
157
+
106
158
# Install npm packages
107
- RUN npm install -g \
159
+ RUN npm install -g --quiet \
108
160
husky \
109
161
artillery \
110
162
grunt-cli \
111
163
gulp-cli \
112
164
yo
113
165
114
166
# Install python packages
115
- RUN sudo ~/.pyenv/shims/python -m pip install \
116
- ansible \
117
- bzt
167
+ RUN sudo ~/.pyenv/shims/python -m pip install --quiet \
168
+ bzt \
169
+ droopescan
118
170
119
171
# Install scm_breeze
120
172
RUN git clone git://github.com/scmbreeze/scm_breeze.git ~/.scm_breeze && \
121
173
~/.scm_breeze/install.sh && \
122
174
source ~/.bashrc && \
123
175
source ~/.zshrc
124
176
177
+ # Install rupa/z
178
+ RUN curl -o ~/z.sh https://raw.githubusercontent.com/rupa/z/master/z.sh && \
179
+ chmod +x ~/z.sh && \
180
+ echo -e ". ~/z.sh" >> ~/.bashrc && \
181
+ echo -e ". ~/z.sh" >> .zshrc
182
+
125
183
# Install brew packages
126
184
RUN brew update && brew install \
127
185
drud/ddev/ddev \
@@ -130,11 +188,13 @@ RUN brew update && brew install \
130
188
RUN mkcert -install
131
189
132
190
# Install lando
133
- RUN sudo wget https://files.lando.dev/installer/lando-x64-stable.deb && \
191
+ RUN sudo wget --quiet https://files.lando.dev/installer/lando-x64-stable.deb && \
134
192
sudo dpkg -i --ignore-depends docker-ce,iptables lando-x64-stable.deb && \
135
193
sudo rm -rf lando-x64-stable.deb && \
136
194
mkdir -p ~/.lando && \
137
195
echo -e "proxy: 'ON'\n proxyHttpPort: '8080'\n proxyHttpsPort: '4443'\n bindAddress: '0.0.0.0'\n proxyBindAddress: '0.0.0.0'" > ~/.lando/config.yml
138
196
139
- # Add aliases
140
- ADD .bash_aliases /home/gitpod
197
+ # Copy files we need
198
+ ADD .bash_aliases commands.md /home/gitpod/
199
+ RUN sudo chmod 777 /home/gitpod/.bash_aliases && \
200
+ sudo chown gitpod /home/gitpod/.bash_aliases
0 commit comments