-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathVagrantfile
94 lines (74 loc) · 2.79 KB
/
Vagrantfile
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
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
# Plugins
if Vagrant.has_plugin?("vagrant-vbguest")
config.vbguest.auto_update = true
end
# OS
config.vm.box = "generic/rocky9"
# Network
config.vm.network "forwarded_port", guest:3000, host:3000
# Allura
# config.vm.network "forwarded_port", guest:8080, host:8080
# config.vm.network "forwarded_port", guest:8983, host:8983
# config.vm.network "forwarded_port", guest:8825, host:8825
# config.vm.network "forwarded_port", guest:27017, host:27017
# virtual box settings.
config.vm.provider "virtualbox" do |vb|
# Display the VirtualBox GUI when booting the machine
vb.gui = false
# Customize the amount of memory on the VM:
vb.memory = "4096"
end
# Provisions
# dev tools
$setup_dev_tools = <<-SHELL
dnf update
dnf install -y epel-release
dnf install -y git make wget tar curl zip unzip cmake
SHELL
# dev tools のインストール
config.vm.provision "shell", inline:$setup_dev_tools
# gcc
$setup_gcc = <<-SHELL
dnf install -y gcc gcc-c++
dnf group install -y "Development Tools"
wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-13.2.0/gcc-13.2.0.tar.gz
tar xzvf gcc-13.2.0.tar.gz
cd gcc-13.2.0
./contrib/download_prerequisites
mkdir build
cd build
../configure --prefix=/usr/local/gcc-13.2.0 --program-suffix=-13.2.0 --enable-checking=release --enable-languages=c,c++ --disable-multilib
export LD_LIBRARY_PATH=/usr/local/gcc-13.2.0/lib64:$LD_LIBRARY_PATH
# export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LIBRARY_PATH
export C_INCLUDE_PATH=/usr/include/gnu:/usr/include:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=/usr/include/gnu:/usr/local/gcc-13.2.0/include/c++/13.2.0/:/usr/include:$CPLUS_INCLUDE_PATH
make -j 8
make install
cd ../../
rm -f gcc-13.2.0.tar.gz
rm -rf gcc-13.2.0
dnf remove -y gcc gcc-c++
update-alternatives --install /usr/bin/gcc gcc /usr/local/gcc-13.2.0/bin/gcc-13.2.0 1 --slave /usr/bin/g++ g++ /usr/local/gcc-13.2.0/bin/g++-13.2.0
SHELL
# gcc のインストール
config.vm.provision "shell", inline:$setup_gcc
# docker-ce & docker-compose
$setup_docker = <<-SHELL
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
dnf install -y device-mapper-persistent-data lvm2
dnf install -y docker-ce docker-ce-cli containerd.io
systemctl enable docker
systemctl start docker
usermod -aG docker vagrant
SHELL
# docker-ce & docker-compose のインストール
config.vm.provision "shell", inline:$setup_docker
$setup_vagrant = <<-SHELL
# git clone https://gitbox.apache.org/repos/asf/allura.git/ allura-git
SHELL
# vagrant 関係
# config.vm.provision "shell", inline:$setup_vagrant
end