Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
1ed6689
migrate(nexus-build): DEVOPS-44489 PaC-ify build-base-image + build-i…
alaudabot Jul 23, 2026
a28d48a
migrate(nexus-build): DEVOPS-44489 trivy-scanner stepSpecs override (…
alaudabot Jul 23, 2026
89bb38c
migrate(nexus-build): DEVOPS-44489 trivy-scanner PR-only when-guard
alaudabot Jul 23, 2026
ef59968
Merge branch 'migration' into 'alauda-76.0'
kycheng Jul 23, 2026
1f944f9
fix(nexus-build): update-chart-values git-cli baseImage -> reachable …
kycheng Jul 24, 2026
916b3e1
Merge branch 'fix-git-cli-image' into 'alauda-76.0'
kycheng Jul 24, 2026
e44aff1
migrate(nexus-build): integration-test (Option-D ctyun-vm) — WIP, do …
kycheng Jul 24, 2026
9966536
Merge branch 'migration-inttest' into 'alauda-76.0'
kycheng Jul 24, 2026
4c2bf8c
feat(testing): package and import Maven dependencies for Nexus E2E
kycheng Aug 6, 2026
53dce1e
Merge branch 'feat/nexus-e2e-maven-upstream' into 'alauda-76.0'
kycheng Aug 6, 2026
3cc720d
docs: design Nexus Lynx test entrypoint
alaudabot Aug 16, 2026
83695bb
docs: plan Nexus Lynx entrypoint implementation
alaudabot Aug 16, 2026
9ae929c
feat(testing): add Lynx entrypoint helpers
alaudabot Aug 16, 2026
f7e46d4
fix(testing): bound Lynx value polling
alaudabot Aug 16, 2026
390fb8f
fix(testing): normalize Lynx timing values
alaudabot Aug 16, 2026
9439e5f
feat(testing): add secure ACP authentication for Lynx
alaudabot Aug 16, 2026
4565c47
fix(testing): clean Lynx auth temp files on failure
alaudabot Aug 16, 2026
636ee94
fix(testing): harden Lynx authentication transport
alaudabot Aug 16, 2026
418cce9
feat(testing): install listed Nexus operator through OLM
alaudabot Aug 16, 2026
0e6e2c6
fix(testing): bound OLM installation probes
alaudabot Aug 16, 2026
4ed72d3
fix(testing): preserve OLM wait heartbeats
alaudabot Aug 16, 2026
cdf22ea
fix(testing): bound all OLM API requests
alaudabot Aug 16, 2026
1c611cb
fix(testing): fail closed on Subscription lookup
alaudabot Aug 16, 2026
5bb440c
feat(testing): run Nexus E2E and retain Lynx diagnostics
alaudabot Aug 16, 2026
00ddd10
fix(testing): omit unsafe Lynx diagnostic text
alaudabot Aug 16, 2026
18582ba
fix(testing): harden Lynx result collection
alaudabot Aug 16, 2026
81726cb
fix(testing): validate Lynx diagnostic sanitization
alaudabot Aug 16, 2026
4f5070b
feat(testing): add Nexus Lynx image entrypoint
alaudabot Aug 16, 2026
331fd3d
fix(testing): retain Lynx Godog report flags
alaudabot Aug 16, 2026
6867311
fix(testing): reject symlinked Allure report path
alaudabot Aug 16, 2026
1431efc
fix(ci): provide test image build context
alaudabot Aug 16, 2026
c1d0913
fix(ci): provide complete report upload config
alaudabot Aug 16, 2026
7f4f9b0
fix(testing): use selected OLM channel CSV
alaudabot Aug 18, 2026
5fe83da
ci: retrigger test image build
alaudabot Aug 18, 2026
051352e
ci: capture provisioning retry
alaudabot Aug 18, 2026
f501dcd
ci: use IDC vcluster test image build
alaudabot Aug 18, 2026
9e9f27e
fix(ci): use IDC-accessible test image bases
alaudabot Aug 18, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
.git
.git/**
.worktrees
.worktrees/**

**/__pycache__
**/*.py[cod]
.pytest_cache
**/.pytest_cache
**/.cache

**/target
**/target/**

.env
.env.*
!.env.example
!.env.*.example

.DS_Store
**/.DS_Store
**/*~
**/*.swp
**/*.swo
**/*.tmp
**/*.temp
.idea
**/.idea
.vscode
**/.vscode
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
.omc/**
image/jar/**
.env
.worktrees/
146 changes: 104 additions & 42 deletions .tekton/build-base-image.yaml
Original file line number Diff line number Diff line change
@@ -1,86 +1,148 @@
# nexus-ce-base: the JDK17+Node22+Yarn build-time environment image used to
# compile the Nexus server app (build-nexus-app step in build-image.yaml).
# Not shipped to customers -- amd64-only (the compile step always runs on a
# single build node regardless of the target server-image platforms).
#
# Option-D (DEVOPS-44489): hub `alauda` catalog's clone-image-build-test-scan@0.2
# (type:tekton) is unserved on edge-build (memory edge-build-hub-resolver-gap).
# Resolved as a native inline pipelineSpec -- no top-level pipelineRef, inner
# taskRefs `resolver: hub` (no `type:`) from catalog/extras at served versions,
# matching the gitlab/toolbox/nexus-ce-operator precedent.
apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
name: build-base-image
annotations:
pipelinesascode.tekton.dev/on-comment: "^((/test-all)|(/build-base-image))$"
pipelinesascode.tekton.dev/max-keep-runs: "5"
pipelinesascode.tekton.dev/cancel-in-progress: "true"
spec:
pipelineRef:
resolver: hub
params:
- name: catalog
value: alauda
- name: type
value: tekton
- name: kind
value: pipeline
- name: name
value: clone-image-build-test-scan
- name: version
value: "0.2"
timeouts:
pipeline: 1h

params:
- name: git-url
value: "{{ repo_url }}"
- name: git-revision
value: "{{ source_branch }}"
- name: git-commit
value: "{{ revision }}"
- name: pull-request-number
value: "{{ pull_request_number }}"

- name: image-repository
value: build-harbor.alauda.cn/devops/nexus-ce-base
pipelineSpec:
description: >-
Inline pipeline for nexus-ce-base (build-base-image.yaml): git-clone ->
buildctl (amd64-only build environment image, no scan -- matches source
pipeline's ignore-trivy-scan: true).

- name: containerfile-path
value: image/Containerfile.base
params:
- name: git-url
type: string
- name: git-revision
type: string
- name: pull-request-number
type: string
default: ""

- name: context
value: "image"
tasks:
- name: git-clone
timeout: 30m
retries: 3
taskRef:
resolver: hub
params:
- {name: catalog, value: catalog}
- {name: kind, value: task}
- {name: name, value: git-clone}
- {name: version, value: "0.10"}
params:
- name: url
value: $(params.git-url)
- name: revision
value: $(params.git-revision)
- name: pr-number
value: $(params.pull-request-number)
workspaces:
- name: output
workspace: source
- name: basic-auth
workspace: basic-auth

- name: tags
value:
- latest
# image-repository: build-harbor.alauda.cn/devops/nexus-ce-base ->
# {{ registry_url }}/alauda-devops-toolchain/nexus/nexus-ce-base (P1/P2,
# output-path convention shared with nexus-ce-operator).
- name: buildctl
runAfter: [git-clone]
timeout: 45m
retries: 1
taskRef:
resolver: hub
params:
- {name: catalog, value: extras}
- {name: kind, value: task}
- {name: name, value: buildctl}
- {name: version, value: "0.1"}
params:
- name: imageURL
value: "{{ registry_url }}/alauda-devops-toolchain/nexus/nexus-ce-base"
- name: imageTags
value:
- latest
- name: containerfile
value: Containerfile.base
- name: context
value: image
- name: platform
value:
- linux/amd64
workspaces:
- name: source
workspace: source
- name: registry-config
workspace: registry-config

- name: ignore-trivy-scan
value: "true"
workspaces:
- name: source
description: Shared source checkout workspace.
- name: basic-auth
description: Git auth credentials injected by the code-alauda-io connector.
- name: registry-config
description: Docker registry auth mounted as config.json (registry-alauda-io).

- name: file-list-for-commit-sha
value:
- .tekton/build-base-image.yaml
- image/Containerfile.base
workspaces:
- name: source
volumeClaimTemplate:
spec:
storageClassName: sc-topolvm
accessModes:
- ReadWriteMany
- ReadWriteOnce
resources:
requests:
storage: 1Gi
- name: registryconfig
secret:
secretName: build-harbor.kauto.docfj
# This secret will be replaced by the pac controller
storage: 2Gi
- name: basic-auth
csi:
driver: connectors-csi
readOnly: true
volumeAttributes:
configuration.names: gitconfig
connector.name: code-alauda-io
connector.namespace: alauda-devops-toolchain
token.expiration: 30m
- name: registry-config
secret:
secretName: "{{ git_auth_secret }}"
- name: gitversion-config
configMap:
name: gitversion-config
secretName: "{{ registry_secret }}"

taskRunTemplate:
# 让所有任务都以非 root 用户运行。
podTemplate:
securityContext:
runAsUser: 65532
runAsGroup: 65532
fsGroup: 65532
fsGroupChangePolicy: "OnRootMismatch"
imagePullSecrets:
- name: "{{ registry_secret }}"

taskRunSpecs:
- pipelineTaskName: prepare-build
- pipelineTaskName: buildctl
computeResources:
limits:
cpu: "4"
Expand Down
Loading
Loading