Warning, /graphics/digikam/project/bundles/CD/ContinuousDeploy.txt is written in an unsupported language. File is not indexed.
0001 Architecture and configuration to setup a continuous deployment computer. 0002 -------------------------------------------------------------------------- 0003 0004 1/ Host computer and local network 0005 0006 - Intel Xeon 24 cores 0007 - 32 Gb of RAM (48Gb highly recommended) 0008 - 2 SSD 1Tb (one to host base system, one to host VMs) 0009 - Host system Linux Mageia 7.1 0010 - VirtualBox version 6.x: 0011 0012 * Host must define a private local network configurated with default settings: 0013 network 192.168.56.1/25 0014 DHCP server 192.168.56.100/24 @[101-254] 0015 0016 * Each VM must have 2 network ifaces: one to use Internet using NAT 0017 one to use private local network 0018 0019 * Private local network will allow to be connected to VMs locally with ssh. 0020 0021 * Extension Pack installed (https://www.virtualbox.org/wiki/Downloads). 0022 0023 * 3 VMs: 0024 one running MacOS Catalina to compile PKG installer. 0025 Name: VX. 0026 8 cores. 0027 4Gb RAM (8Gb highly recommended to compile QtWebEngine). 0028 128Mb video. 0029 Disk: 120Gb. (40 Gb free are required at least to update later XCode) 0030 eth0: auto IP/DNS with DHCP (VM:NAT) 0031 eth1: manual IP/DNS: 192.168.56.101/24/192.168.56.1/192.168.56.100 (VM:private local Net) 0032 0033 one running XBuntu 18.04 to compile Windows installer. 0034 Name: VW. 0035 8 cores. 0036 4Gb RAM (8Gb highly recommended to compile QtWebkit). 0037 128Mb video. 0038 Disk: 120Gb (/). 0039 /home : 20Gb on a separated partition. 0040 /tmp : 20Gb on a separated partition. 0041 /var : 20Gb on a separated partition. 0042 swap : 20Gb on a separated partition. 0043 eth0: auto IP/DNS with DHCP Metric:0 (VM:NAT) 0044 eth1: manual IP/DNS: 192.168.56.102/24/192.168.56.1/192.168.56.100 Metric:10 (VM:private local Net) 0045 Desktop: Plasma or XFCE 0046 0047 one running XBuntu 18.04 to compile AppImage bundle 0048 Name: VA. 0049 8 cores. 0050 4Gb RAM (8Gb highly recommended to compile QtWebEngine). 0051 128Mb video. 0052 Disk: 120Gb (/). 0053 /home : 20Gb on a separated partition. 0054 /tmp : 20Gb on a separated partition. 0055 /var : 20Gb on a separated partition. 0056 swap : 20Gb on a separated partition. 0057 eth0: auto IP/DNS with DHCP Metric:0 (VM:NAT) 0058 eth1: manual IP/DNS: 192.168.56.103/24/192.168.56.1/192.168.56.100 Metric:10 (VM:private local Net) 0059 Desktop: XFCE 0060 0061 2/ Virtual Machines 0062 0063 - MacOS Catalina: system is installed using this GitHub repository: https://github.com/myspaghetti/macos-virtualbox (git revision b47fbd977e9d6103fb7113651839c22937d58af1), 0064 and using Macports procedure. 0065 * @IP: 192.168.56.101 0066 * Apply the patch to macos-guest-virtualbox.patch and run the script to create the VM. 0067 * Don't touch mouse and keyboard will installing as form recognition is used to automate all operations (aka partitions creating and formatting). 0068 * MacOS Catalina will be installed and first run assistant must appear. 0069 * Create a main user account with admin rights, disable Siri, TimeScreen, Analytics, Accessibility, TimeMachine, and don't setup an AppleID. 0070 * Using Mac Deploy Stick - MDS tool to download macOS ISO for update system (https://twocanoes.com/products/mac/mac-deploy-stick/), download the last DMG public release of BigSur 0071 * MacOS BigSur will be installed and first run assistant will appear where nothing special must be changed compared to Catalina. 0072 * From MacOS System Preferences Panel/Software Update disable auto up-to-date. 0073 * From macOS System Preferences Panel/Users & Groups change user account shell from zsh to bash and reboot the virtual machine. 0074 * From macOS System Preferences Panel/Energy Saver turn off all sleeping options. 0075 * From macOS System Preferences Panel/Desktop & Screen Saver Set no image background and turn off screen saver. 0076 * From macOS System Preferences Panel/Sound Effects disable all. 0077 * From macOS System Preferences Panel/Sharing enable remote login. 0078 * From macOS System Preferences Panel/Mouse disable natural scroll direction. 0079 * From macOS System Preferences Panel/Spotlight disable all categories. 0080 * From macOS System Preferences Panel/Siri disable all. 0081 * From macOS System Preferences Panel/Security & Privacy turn off screen lock. 0082 * From macOS System Preferences Panel/Notifications disable all. 0083 * From macOS System Preferences Panel/Display disable mirroring option in menu bar. 0084 * From macOS System Preferences Panel/Keyboard disable input option in menu bar. 0085 * From macOS System Preferences Panel/Dock & Menu Bar disable all control options in menu bar. 0086 * Register a valid account in AppleStore and download XCode (usually an account taken to developer.apple.com is enough). 0087 * Open XCode and wait to update components with sudo right. 0088 * From a Terminal, install XCode Command Line Tools with "sudo xcode-select --install". 0089 * From a Terminal, valid XCode license with "sudo xcodebuild -license". 0090 * Install Packages for macOS (http://s.sudre.free.fr/Software/Packages/about.html). 0091 * From macOS System Preferences Panel/Security & Privacy files listed below with Rights to Full Disk Access: 0092 + Terminal 0093 + Packages.app 0094 + /usr/local/bin/packagesbuild 0095 + /Library/PrivilegedHelperTools/??.whitebox.packages/packages_builder 0096 + /Library/PrivilegedHelperTools/??.whitebox.packages/packages_dispatcher 0097 * Install .bashrc_profile, .gitconfig, and macports_update.sh to the home directory. 0098 * Install your public and private ssh keys for your KDE account to your home directory. 0099 * Change /etc/sudoers properties to run sudo without password: "%admin ALL = (ALL) ALL" => "%admin ALL = (ALL) NOPASSWD: ALL" 0100 * Clone digiKam git repository in your home repository (git clone git@invent.kde.org:graphics/digikam.git). 0101 * From local digiKam git repository, run project/bundles/macports/makeall.sh. 0102 * To update Macports PKG all the days at 13h00, run "macports_update.sh" script in background with screen CLI tool. 0103 0104 - XUBuntu 18.04: system is installed using MXE procedure. 0105 * @IP: 192.168.56.102 0106 * To update Windows installer all the days at 15h00, run "mxe_update.sh" script in background with screen CLI tool. 0107 0108 - XUBuntu 18.04: system is installed using AppImage procedure. 0109 * @IP: 192.168.56.103 0110 * To update Linux bundle all the days at 11h00, run "appimage_update.sh" script in background with screen CLI tool. 0111 0112 - To start VM without GUI from command line: 0113 0114 * VBoxManage startvm --type headless VW 0115 * VBoxManage startvm --type headless VA 0116 * VBoxManage startvm --type headless VX 0117 0118 - To stop VM without GUI from command line: 0119 0120 * VBoxManage controlvm VW acpipowerbutton 0121 * VBoxManage controlvm VA acpipowerbutton 0122 * VBoxManage controlvm VX acpipowerbutton