- Docker inserts iptables rules when it's started by default
- buster uses nftables by default
- let's make Docker use nftables instead
- PROFIT
Install Docker CE and nftables:
| #!/usr/bin/env python3 | |
| import os | |
| import re | |
| import shutil | |
| from collections import defaultdict | |
| from datetime import datetime, timedelta | |
| import argparse | |
| parser = argparse.ArgumentParser(description="Clean up old GitLab CI cache folders based on their cycle number and age.") | |
| parser.add_argument('--cache-dir', help='Path to the GitLab CI cache directory', required=True) |
Install Docker CE and nftables:
| #!/usr/bin/env python | |
| from queue import Queue, Empty | |
| import gcn | |
| from grbfunk import handler | |
| import coloredlogs, logging | |
| import telegram | |
| import os | |
| import yaml |
| #!groovy | |
| import static groovy.io.FileType.FILES | |
| node('master') { | |
| FILES_DIR = './foo' | |
| cleanWs() | |
| sh """ | |
| mkdir foo | |
| touch foo/bar1 |
| #!groovy | |
| def docker_images = ["python:3.5.5", "python:3.6.4", "python:3.6.5"] | |
| def get_stages(docker_image) { | |
| stages = { | |
| docker.image(docker_image).inside { | |
| // If I use this variable as the Virtual Env Folder, | |
| // I get "permission denied" messages from pip, since it tries | |
| // to install into /usr/local/... instead of the pyenv folder! | |
| // def PYTHON_VENV = docker_image.replaceAll('[:.]', '') + 'venv' |
| def docker_images = ["python:2.7.14", "python:3.5.4", "python:3.6.2"] | |
| def get_stages(docker_image) { | |
| stages = { | |
| docker.image(docker_image).inside { | |
| stage("${docker_image}") { | |
| echo 'Running in ${docker_image}' | |
| } | |
| stage("Stage A") { | |
| switch (docker_image) { |
| // Related to https://issues.jenkins-ci.org/browse/JENKINS-26481 | |
| abcs = ['a', 'b', 'c'] | |
| node('master') { | |
| stage('Test 1: loop of echo statements') { | |
| echo_all(abcs) | |
| } | |
| stage('Test 2: loop of sh commands') { |
| #include <string> | |
| #include <iostream> | |
| #include "H5Cpp.h" | |
| #define MAX_NAME_LENGTH 32 | |
| const std::string FileName("SimpleCompound.h5"); | |
| const std::string DatasetName("PersonalInformation"); | |
| const std::string member_age("Age"); | |
| const std::string member_sex("Sex"); | |
| const std::string member_name("Name"); |
[ Launch: Tributary inlet ] 9539573 by tamasgal