Existe algum repositório secreto que eles usam para manter as coisas atualizadas?
Obrigado! O asdf é uma grande ajuda! Acho que já o vi antes, mas queria evitar “Mais um Gerenciador de Pacotes”. Se é bom o suficiente para você, estou dentro.
E parece que o nodejs está desatualizado no script de instalação também. Uma instalação recente tem v18.12.1 e o script instala a versão 16.
Então, parece que:
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.10.2
asdf plugin add ruby https://github.com/asdf-vm/asdf-ruby.git
asdf plugin add imagemagick
asdf install imagemagick 7.1.0-55
asdf plugin add nodejs
asdf install nodejs 18.12.1
Assumindo que você consiga isso no seu .bashrc (ou similar) de alguma forma:
. $HOME/.asdf/asdf.sh
. $HOME/.asdf/completions/asdf.bash
E instalando essas gems:
- bundler
- discourse_theme
- minitar
- listen
- rb-fsevent
- rb-inotify
- ffi
- multipart-post
- tty-prompt
- pastel
- tty-color
- tty-reader
- tty-screen
- advancecomp
- gifsicle
- jpegoptim
- libjpeg-progs
- optipng
- pngcrush
- pngquant
- jhead
- rails
Algumas delas eu posso ter adicionado por algum motivo que não seja o Discourse, embora eu não tenha certeza.
E
apt-get install -y git build-essential libxslt1-dev libcurl4-openssl-dev libksba8 \\\nlibksba-dev libreadline-dev libssl-dev zlib1g-dev libsnappy-dev \\\nsqlite3 libsqlite3-dev postgresql postgresql-server-dev-all \\\npostgresql-contrib libpq-dev redis-server golang-go \ngo get github.com/mailhog/MailHog
(Provavelmente não nessa ordem) Chega bem perto. O redis atual incluído com o ubuntu é Bom o Suficiente para 99% dos desenvolvedores (é 7.0.7 e não 6.x) Ah! 7.0.7 é o que está incluído agora. Mas existe um plugin asdf para redis também.
Um script assim seria então bem fácil de manter no core quando houvesse um aumento de versão no node, imagemagick ou Ruby, e então um desenvolvedor preguiçoso poderia executar esse script uma vez por semana ou a cada novo pull e ter um ambiente de desenvolvimento atualizado. Com uma hora ou três, alguém inteligente poderia torná-lo multiplataforma o suficiente para Linux, Mac/homebrew e Windows/WSL em algumas horas. Felizmente, não tenho acesso fácil ao Windows hoje em dia, então não estou me voluntariando.
Mas acho que se eu observar as mudanças em discourse_docker, talvez eu note quando elas forem atualizadas e minhas adições improvisadas ao meu playbook ansible newmachine podem agora fazer o trabalho.
Obrigado pela dica! Acho que agora posso ter uma configuração de desenvolvimento em qualquer máquina com um único comando.