You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2021/07/13 04:04:41 UTC

[skywalking-kubernetes] 01/01: Create e2e.ci.8.7+.yaml

This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch wu-sheng-patch-1
in repository https://gitbox.apache.org/repos/asf/skywalking-kubernetes.git

commit 439e7fb72a49a2253b3b427f55e80d7956fea497
Author: 吴晟 Wu Sheng <wu...@foxmail.com>
AuthorDate: Tue Jul 13 12:04:36 2021 +0800

    Create e2e.ci.8.7+.yaml
---
 .github/workflows/e2e.ci.8.7+.yaml | 132 +++++++++++++++++++++++++++++++++++++
 1 file changed, 132 insertions(+)

diff --git a/.github/workflows/e2e.ci.8.7+.yaml b/.github/workflows/e2e.ci.8.7+.yaml
new file mode 100644
index 0000000..3a2c6f8
--- /dev/null
+++ b/.github/workflows/e2e.ci.8.7+.yaml
@@ -0,0 +1,132 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: Test 8.7.0+ SkyWalking
+
+on:
+  pull_request:
+  push:
+    path:
+      - '!**.md'
+    branches:
+      - master
+
+env:
+  SKIP_TEST: true
+  ISTIO_VERSION: 1.7.1
+  TAG: ${{ github.sha }}
+  SCRIPTS_DIR: main/test/e2e-mesh/e2e-istio/scripts
+  SW_OAP_BASE_IMAGE: openjdk:8-jre-alpine
+
+jobs:
+  als:
+    runs-on: ubuntu-16.04
+    timeout-minutes: 60
+    name: Istio+Envoy Access Log Service
+    steps:
+      - uses: actions/checkout@v2
+      - uses: actions/checkout@v2
+        with:
+          repository: apache/skywalking
+          submodules: true
+          path: main
+          ref: 6228d450e1b0792dd9875ad68984c89c81ece742
+
+      - uses: actions/cache@v2
+        with:
+          path: ~/.m2/repository
+          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+          restore-keys: ${{ runner.os }}-maven-
+
+      - name: Build Docker Image
+        run: cd main && make docker && cd ..
+
+      - name: Prepare envrionment
+        run: bash ${SCRIPTS_DIR}/pre.sh
+
+      - name: Install Minikube
+        run: bash ${SCRIPTS_DIR}/minikube.sh start
+
+      - name: Install Istio
+        run: bash ${SCRIPTS_DIR}/istio.sh --set profile=demo --set meshConfig.defaultConfig.envoyAccessLogService.address=skywalking-oap.istio-system:11800 --set meshConfig.enableEnvoyAccessLogService=true
+
+      - name: Install SkyWalking
+        run: |
+          cd chart
+          helm dep up skywalking
+          helm -n istio-system install skywalking skywalking \
+               --set fullnameOverride=skywalking \
+               --set elasticsearch.replicas=1 \
+               --set elasticsearch.minimumMasterNodes=1 \
+               --set oap.env.SW_ENVOY_METRIC_ALS_HTTP_ANALYSIS=k8s-mesh \
+               --set oap.envoy.als.enabled=true \
+               --set oap.replicas=1 \
+               --set ui.image.repository=skywalking/ui \
+               --set ui.image.tag=$TAG \
+               --set oap.image.repository=skywalking/oap \
+               --set oap.image.tag=$TAG \
+               --set oap.storageType=elasticsearch
+          kubectl -n istio-system get pods
+
+          sleep 3
+          kubectl -n istio-system wait --for=condition=available deployments/skywalking-oap --timeout=1200s
+          kubectl get pods -A -o wide --show-labels
+          kubectl get services -A -o wide
+
+      - name: Deploy demo services
+        run: bash ${SCRIPTS_DIR}/demo.sh
+
+      - name: Cluster Info
+        if: ${{ failure() }}
+        run: |
+          df -h
+          minikube logs
+          minikube status
+
+      - name: Set up Minikube tunnel
+        run: |
+          mkdir /tmp/minikube-tunnel
+          minikube tunnel > /tmp/minikube-tunnel/a.log &
+          export POD_NAME=$(kubectl get pods -n istio-system -l "app=skywalking,release=skywalking,component=ui" -o jsonpath="{.items[0].metadata.name}")
+          echo $POD_NAME
+          kubectl -n istio-system port-forward $POD_NAME 8080:8080 > /tmp/minikube-tunnel/b.log &
+
+      - name: Run E2E test
+        run: |
+          export GATEWAY_HOST=$(minikube ip)
+          export GATEWAY_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].nodePort}')
+          export WEBAPP_HOST=127.0.0.1
+          export WEBAPP_PORT=8080
+
+          cd main && ./mvnw --batch-mode -f test/e2e/pom.xml -am -DfailIfNoTests=false verify -Dit.test=org.apache.skywalking.e2e.mesh.ALSE2E
+
+      - name: Logs
+        if: ${{ failure() }}
+        run: |
+          kubectl -n istio-system logs --tail=10000 -l "app=skywalking,release=skywalking,component=ui"
+          kubectl -n istio-system logs --tail=10000 -l "app=skywalking,release=skywalking,component=oap"
+          cat /tmp/minikube-tunnel/*
+
+      - name: Clean up
+        if: ${{ always() }}
+        run: minikube delete
+
+  build:
+    runs-on: ubuntu-16.04
+    needs: [als]
+    steps:
+      - name: dummy
+        run: echo