You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by GitBox <gi...@apache.org> on 2020/12/24 15:04:19 UTC

[GitHub] [apisix] moonming commented on a change in pull request #3061: test: add ci on centos7

moonming commented on a change in pull request #3061:
URL: https://github.com/apache/apisix/pull/3061#discussion_r548553418



##########
File path: .github/workflows/centos7.yml
##########
@@ -0,0 +1,109 @@
+name: test_apisix_on_centos7
+
+on:
+  push:
+    branches:
+      - master
+  pull_request:
+    branches:
+      - master
+
+jobs:
+  test_apisix:
+    name: test_apisix_on_centos7
+    runs-on: ubuntu-latest
+
+    services:
+      etcd:
+        image: bitnami/etcd:3.4.0
+        ports:
+          - 2379:2379
+          - 2380:2380
+        env:
+          ALLOW_NONE_AUTHENTICATION: yes
+          ETCD_ADVERTISE_CLIENT_URLS: http://0.0.0.0:2379
+
+      old_etcd:
+        image: bitnami/etcd:3.3.8
+        ports:
+          - 3379:2379
+          - 3380:2380
+        env:
+          ALLOW_NONE_AUTHENTICATION: yes
+          ETCD_ADVERTISE_CLIENT_URLS: http://0.0.0.0:2379
+
+    steps:
+    - name: Check out code
+      uses: actions/checkout@v2
+      with:
+        submodules: recursive
+
+    - name: Install Redis Cluster
+      uses: vishnudxb/redis-cluster@1.0.5
+      with:
+        master1-port: 5000
+        master2-port: 5001
+        master3-port: 5002
+        slave1-port: 5003
+        slave2-port: 5004
+        slave3-port: 5005
+
+    - name: Running Redis Cluster Test
+      run: |
+        sudo apt-get install -y redis-tools
+        docker ps -a
+        redis-cli -h 127.0.0.1 -p 5000 ping
+        redis-cli -h 127.0.0.1 -p 5000 cluster nodes
+
+    - name: Running etcd server with TLS
+      run: |
+        sudo docker run -d -p 12379:12379 -p 12380:12380 \
+        -e ALLOW_NONE_AUTHENTICATION=yes \
+        -e ETCD_ADVERTISE_CLIENT_URLS=https://0.0.0.0:12379 \
+        -e ETCD_LISTEN_CLIENT_URLS=https://0.0.0.0:12379 \
+        -e ETCD_CERT_FILE=/certs/etcd.pem \
+        -e ETCD_KEY_FILE=/certs/etcd.key \
+        -e GITHUB_ACTIONS=true \
+        -e CI=true \
+        -v /home/runner/work/apisix/apisix/t/certs:/certs \
+        bitnami/etcd:3.4.0
+
+    - name: run centos7 docker and mapping apisix into container
+      run: |
+        docker run -itd -v /home/runner/work/apisix/apisix:/tmp/apisix --name centos7Instance --net="host" docker.io/centos:7 /bin/bash
+
+    - name: run other docker containers for test
+      run: |
+        docker run --rm -itd -p 6379:6379 --name apisix_redis redis:3.0-alpine
+        docker run --rm -itd -e HTTP_PORT=8888 -e HTTPS_PORT=9999 -p 8888:8888 -p 9999:9999 mendhak/http-https-echo
+        docker run --rm -itd -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=123456 -p 8090:8080 -p 8443:8443 sshniro/keycloak-apisix
+        docker network create kafka-net --driver bridge
+        docker run --name zookeeper-server -d -p 2181:2181 --network kafka-net -e ALLOW_ANONYMOUS_LOGIN=yes bitnami/zookeeper:3.6.0
+        docker run --name kafka-server1 -d --network kafka-net -e ALLOW_PLAINTEXT_LISTENER=yes -e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 -e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092 -p 9092:9092 -e KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true bitnami/kafka:latest
+        docker run --name eureka -d -p 8761:8761 --env ENVIRONMENT=apisix --env spring.application.name=apisix-eureka --env server.port=8761 --env eureka.instance.ip-address=127.0.0.1 --env eureka.client.registerWithEureka=true --env eureka.client.fetchRegistry=false --env eureka.client.serviceUrl.defaultZone=http://127.0.0.1:8761/eureka/ bitinit/eureka
+        sleep 5
+        docker exec -i kafka-server1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server:2181 --replication-factor 1 --partitions 1 --topic test2
+        docker run --rm --name skywalking -d -p 1234:1234 -p 11800:11800 -p 12800:12800 apache/skywalking-oap-server
+
+    - name: install dependencies
+      run: |
+        docker exec centos7Instance bash -c "yum install -y wget tar gcc automake autoconf libtool make && wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm && rpm -ivh epel-release-latest-7.noarch.rpm"
+        docker exec centos7Instance bash -c "yum install -y curl git luarocks lua-devel which"
+        docker exec centos7Instance bash -c "yum install -y yum-utils && yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo"
+        docker exec centos7Instance bash -c "yum install -y openresty-debug"
+        docker exec centos7Instance bash -c "wget https://github.com/etcd-io/etcd/releases/download/v3.4.0/etcd-v3.4.0-linux-amd64.tar.gz && tar xf etcd-v3.4.0-linux-amd64.tar.gz"
+        docker exec centos7Instance bash -c "cp /etcd-v3.4.0-linux-amd64/etcdctl /usr/local/bin/ && rm -rf etcd-v3.4.0-linux-amd64"
+        docker exec centos7Instance bash -c "yum install -y cpanminus build-essential libncurses5-dev libreadline-dev libssl-dev perl"
+        docker exec centos7Instance bash -c "cp -r /tmp/apisix ./"
+        docker exec centos7Instance bash -c "PATH=/usr/local/openresty-debug/nginx/sbin:/usr/local/openresty-debug/bin:$PATH cpanm --notest Test::Nginx IPC::Run > build.log 2>&1 || (cat build.log && exit 1)"
+        docker exec centos7Instance bash -c "mkdir build-cache && wget https://github.com/iresty/grpc_server_example/releases/download/20200901/grpc_server_example-amd64.tar.gz && tar -xvf grpc_server_example-amd64.tar.gz && mv grpc_server_example build-cache/"
+        docker exec centos7Instance bash -c "git clone https://github.com/iresty/grpc_server_example.git grpc_server_example && cd grpc_server_example/ && mv proto/ ../build-cache/"
+        docker exec centos7Instance bash -c "./build-cache/grpc_server_example > grpc_server_example.log 2>&1 || (cat grpc_server_example.log && exit 1)&"
+        sleep 3
+        docker exec centos7Instance bash -c "cd apisix && PATH=/usr/local/openresty-debug/nginx/sbin:/usr/local/openresty-debug/bin:$PATH make deps"
+        docker exec centos7Instance bash -c "cd apisix && PATH=/usr/local/openresty-debug/nginx/sbin:/usr/local/openresty-debug/bin:$PATH make init"
+        docker exec centos7Instance bash -c "cd apisix && git clone https://github.com/iresty/test-nginx.git test-nginx"

Review comment:
       too hard to read, why not in one shell file?




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org