fix: use Nexus registry for SIDATA
This commit is contained in:
+185
-16
@@ -14,11 +14,48 @@ steps:
|
||||
|
||||
docker version
|
||||
|
||||
echo ""
|
||||
echo "Docker executable:"
|
||||
which docker
|
||||
|
||||
# ============================================================
|
||||
# 2. Login Nexus
|
||||
# 2. Check Registry Credentials
|
||||
# ============================================================
|
||||
- name: Login Container Registry
|
||||
- name: Check Registry Credentials
|
||||
shell: bash
|
||||
env:
|
||||
REGISTRY_USER: ${{ secrets.REGISTRY_USER }}
|
||||
REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }}
|
||||
run: |
|
||||
set -e
|
||||
|
||||
echo "=========================================="
|
||||
echo "CHECK REGISTRY CREDENTIALS"
|
||||
echo "=========================================="
|
||||
|
||||
echo "REGISTRY_USER length: ${#REGISTRY_USER}"
|
||||
echo "REGISTRY_PASSWORD length: ${#REGISTRY_PASSWORD}"
|
||||
|
||||
if [ -z "$REGISTRY_USER" ]; then
|
||||
echo "ERROR: REGISTRY_USER kosong"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$REGISTRY_PASSWORD" ]; then
|
||||
echo "ERROR: REGISTRY_PASSWORD kosong"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Registry credentials tersedia."
|
||||
|
||||
# ============================================================
|
||||
# 3. Login Nexus
|
||||
# ============================================================
|
||||
- name: Login Nexus
|
||||
shell: bash
|
||||
env:
|
||||
REGISTRY_USER: ${{ secrets.REGISTRY_USER }}
|
||||
REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }}
|
||||
run: |
|
||||
set -e
|
||||
|
||||
@@ -26,14 +63,17 @@ steps:
|
||||
echo "LOGIN NEXUS"
|
||||
echo "=========================================="
|
||||
|
||||
echo "${{ secrets.REGISTRY_PASSWORD }}" | \
|
||||
docker login \
|
||||
registry-bpkd.drc-bpkd.data-center.id \
|
||||
--username "${{ secrets.REGISTRY_USER }}" \
|
||||
REGISTRY="registry-nexus-bpkd.drc-bpkd.data-center.id"
|
||||
|
||||
printf '%s' "$REGISTRY_PASSWORD" | \
|
||||
docker login "$REGISTRY" \
|
||||
--username "$REGISTRY_USER" \
|
||||
--password-stdin
|
||||
|
||||
echo "Login Nexus berhasil."
|
||||
|
||||
# ============================================================
|
||||
# 3. Pull Base Image
|
||||
# 4. Pull Base Image dari Nexus
|
||||
# ============================================================
|
||||
- name: Pull Base Image
|
||||
shell: bash
|
||||
@@ -44,11 +84,17 @@ steps:
|
||||
echo "PULL BASE IMAGE"
|
||||
echo "=========================================="
|
||||
|
||||
docker pull \
|
||||
registry-nexus-bpkd.drc-bpkd.data-center.id/php74-fpm-oci8-lengkap:1.0
|
||||
BASE_IMAGE="registry-nexus-bpkd.drc-bpkd.data-center.id/php74-fpm-oci8-lengkap:1.0"
|
||||
|
||||
echo "Base image:"
|
||||
echo "$BASE_IMAGE"
|
||||
|
||||
docker pull "$BASE_IMAGE"
|
||||
|
||||
echo "Base image berhasil."
|
||||
|
||||
# ============================================================
|
||||
# 4. Build
|
||||
# 5. Build Application Image
|
||||
# ============================================================
|
||||
- name: Build Docker Image
|
||||
shell: bash
|
||||
@@ -68,30 +114,153 @@ steps:
|
||||
--build-arg NO_PROXY="$NO_PROXY" \
|
||||
-t sidata:latest .
|
||||
|
||||
echo ""
|
||||
echo "BUILD BERHASIL"
|
||||
|
||||
docker images | grep sidata
|
||||
|
||||
# ============================================================
|
||||
# 5. Tag
|
||||
# 6. Tag Image ke Nexus
|
||||
# ============================================================
|
||||
- name: Tag Image
|
||||
shell: bash
|
||||
env:
|
||||
REGISTRY_USER: ${{ secrets.REGISTRY_USER }}
|
||||
run: |
|
||||
set -e
|
||||
|
||||
IMAGE="registry-bpkd.drc-bpkd.data-center.id/${{ secrets.REGISTRY_USER }}/sidata"
|
||||
echo "=========================================="
|
||||
echo "TAG IMAGE"
|
||||
echo "=========================================="
|
||||
|
||||
REGISTRY="registry-nexus-bpkd.drc-bpkd.data-center.id"
|
||||
IMAGE="${REGISTRY}/${REGISTRY_USER}/sidata"
|
||||
|
||||
docker tag sidata:latest "${IMAGE}:latest"
|
||||
docker tag sidata:latest "${IMAGE}:${{ gitea.sha }}"
|
||||
|
||||
echo "Image:"
|
||||
echo "${IMAGE}:latest"
|
||||
echo "${IMAGE}:${{ gitea.sha }}"
|
||||
|
||||
# ============================================================
|
||||
# 6. Push
|
||||
# 7. Push Image ke Nexus
|
||||
# ============================================================
|
||||
- name: Push Image
|
||||
shell: bash
|
||||
env:
|
||||
REGISTRY_USER: ${{ secrets.REGISTRY_USER }}
|
||||
run: |
|
||||
set -e
|
||||
|
||||
echo "=========================================="
|
||||
echo "PUSH IMAGE KE NEXUS"
|
||||
echo "=========================================="
|
||||
|
||||
REGISTRY="registry-nexus-bpkd.drc-bpkd.data-center.id"
|
||||
IMAGE="${REGISTRY}/${REGISTRY_USER}/sidata"
|
||||
|
||||
docker push "${IMAGE}:latest"
|
||||
docker push "${IMAGE}:${{ gitea.sha }}"
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo "PUSH BERHASIL"
|
||||
echo "=========================================="
|
||||
|
||||
# ============================================================
|
||||
# 8. Install kubectl
|
||||
# ============================================================
|
||||
- name: Install kubectl
|
||||
shell: bash
|
||||
run: |
|
||||
set -e
|
||||
|
||||
IMAGE="registry-bpkd.drc-bpkd.data-center.id/${{ secrets.REGISTRY_USER }}/sidata"
|
||||
echo "=========================================="
|
||||
echo "INSTALL KUBECTL"
|
||||
echo "=========================================="
|
||||
|
||||
docker push "${IMAGE}:latest"
|
||||
docker push "${IMAGE}:${{ gitea.sha }}"
|
||||
KUBECTL_VERSION=$(curl -L -s https://dl.k8s.io/release/stable.txt)
|
||||
|
||||
curl -fL \
|
||||
"https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl" \
|
||||
-o kubectl
|
||||
|
||||
chmod +x kubectl
|
||||
|
||||
./kubectl version --client
|
||||
|
||||
# ============================================================
|
||||
# 9. Configure Rancher
|
||||
# ============================================================
|
||||
- name: Configure Rancher
|
||||
shell: bash
|
||||
env:
|
||||
RANCHER_URL: ${{ secrets.RANCHER_URL }}
|
||||
RANCHER_CLUSTER_ID: ${{ secrets.RANCHER_CLUSTER_ID }}
|
||||
RANCHER_TOKEN: ${{ secrets.RANCHER_TOKEN }}
|
||||
run: |
|
||||
set -e
|
||||
|
||||
echo "=========================================="
|
||||
echo "CONFIGURE RANCHER"
|
||||
echo "=========================================="
|
||||
|
||||
./kubectl config set-cluster rancher-cluster \
|
||||
--server="${RANCHER_URL}/k8s/clusters/${RANCHER_CLUSTER_ID}" \
|
||||
--insecure-skip-tls-verify=true
|
||||
|
||||
./kubectl config set-credentials rancher-user \
|
||||
--token="${RANCHER_TOKEN}"
|
||||
|
||||
./kubectl config set-context rancher-context \
|
||||
--cluster=rancher-cluster \
|
||||
--user=rancher-user
|
||||
|
||||
./kubectl config use-context rancher-context
|
||||
|
||||
# ============================================================
|
||||
# 10. Test Rancher
|
||||
# ============================================================
|
||||
- name: Test Rancher Connection
|
||||
shell: bash
|
||||
run: |
|
||||
set -e
|
||||
|
||||
echo "=========================================="
|
||||
echo "RANCHER CONNECTION"
|
||||
echo "=========================================="
|
||||
|
||||
./kubectl cluster-info
|
||||
./kubectl get nodes
|
||||
|
||||
# ============================================================
|
||||
# 11. Deploy Kubernetes
|
||||
# ============================================================
|
||||
- name: Deploy to Rancher
|
||||
shell: bash
|
||||
run: |
|
||||
set -e
|
||||
|
||||
echo "=========================================="
|
||||
echo "DEPLOY SIDATA"
|
||||
echo "=========================================="
|
||||
|
||||
if [ -d "k8s" ]; then
|
||||
./kubectl apply -f k8s/
|
||||
elif [ -f "deploy.yaml" ]; then
|
||||
./kubectl apply -f deploy.yaml
|
||||
elif [ -f "deployment.yaml" ]; then
|
||||
./kubectl apply -f deployment.yaml
|
||||
else
|
||||
echo "ERROR: Manifest Kubernetes tidak ditemukan."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo "STATUS DEPLOYMENT"
|
||||
echo "=========================================="
|
||||
|
||||
./kubectl get deployments -A
|
||||
./kubectl get pods -A
|
||||
|
||||
Reference in New Issue
Block a user