DSL and Job DSL: rules • PIPELINE must know how to generate itself • All jobs must be defined in one place • Keep code and data separately • Different approaches for different code parts – Job config – any config file format: ini, yml, json – keep it in product repo – Generator script – Job DSL templates – Pipeline script – pure Pipeline DSL, Shared Libraries, Unit test, Linters