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