证券运维外包第2个月工作总结

总结陈词:没啥新任务,只在月底给了个sql优化,工作部分

1、第一个月的几个定时任务修补,基本1个钟就搞完了

2、前端js任务(新增关联未恢复IMS工单字段),最后卡在上级自己手里,没下文

3、nginx rewrite,这个是个巨坑

http://xxx/url=http[s]://xxx 跳转到http://xxx

网址还带个链接,nginx默认rewrite会把http:// 变成http:/ 少了个斜杠,贼恶心,匹配//的正则也是各种坑,后端还不处理跨域,正则是写不出来了,暂时如下临时处理:

    server { 
        listen 80; 
        server_name xxx; 
        location ~* /shorturl/https { 
            rewrite ^/shorturl/(https:/)+(.*)$  /xxx?url=https://$2 break; 
            proxy_set_header Host       $host;
		    proxy_pass http://; 
		    add_header Access-Control-Allow-Origin *;
		    add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
		    add_header Access-Control-Allow-Headers 'Content-Type,Authorization';
        }    
        location ~* /shorturl/http { 
            rewrite ^/shorturl/(http:/)+(.*)$  /xxx?url=http://$2 break; 
            proxy_set_header Host       $host;
    		proxy_pass http://; 
    		add_header Access-Control-Allow-Origin *;
		    add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
		    add_header Access-Control-Allow-Headers 'Content-Type,Authorization';
        }    		
        location ~* /shorturl/ {
	        return 406  'request uri should include http https';
	    }
    } 

4、sql优化任务,这也是个巨坑

 一个表关联用户表,存在多个字段关联,并且还是逗号分隔的id,贼恶心,外包改不了代码,只能硬着头皮改sql语句,每个关联都是用子查询去处理,用了group_concat find_in_set,要优化的语句如下:

SELECT a.cab_number, a.submiterid, a.submitime, a.cab_type, a.need_source
    , a.event_number, a.release_type, a.emergency_release_reason, b.attrCiname, b.col_538_ AS "cmdb_id"
    , a.systen_level, a.isneedcab, a.cab_title, a.source_describe, a.sourceinfo
    , a.related_notify, a.inform_way, a.other_description, c.name AS "nofify_principal", d.cknowpeos
    , e.review_result, a.weekend_test, a.weekend_test_type, f.coordinator_in_test, g.test_participants
    , a.resource_fp_description
FROM gfzq_cab a
    LEFT JOIN ci b ON a.change_system = b.ci_id
    LEFT JOIN k_user c ON a.nofify_principal = c.id
    LEFT JOIN (
        SELECT a.cab_number, group_concat(b.name) AS "cknowpeos"
        FROM (
            SELECT cab_number, cknowpeos
            FROM gfzq_cab
            WHERE cknowpeos != ''
        ) a, k_user b
        WHERE FIND_IN_SET(b.uuid, a.cknowpeos)
        GROUP BY a.cab_number
    ) d
    ON a.cab_number = d.cab_number
    LEFT JOIN (
        SELECT a.cab_number, group_concat(b.name) AS "review_result"
        FROM (
            SELECT cab_number, review_result
            FROM gfzq_cab
            WHERE review_result != ''
        ) a, k_user b
        WHERE FIND_IN_SET(b.uuid, a.review_result)
        GROUP BY a.cab_number
    ) e
    ON a.cab_number = e.cab_number
    LEFT JOIN (
        SELECT a.cab_number, group_concat(b.name) AS "coordinator_in_test"
        FROM (
            SELECT cab_number, coordinator_in_test
            FROM gfzq_cab
            WHERE coordinator_in_test != ''
        ) a, k_user b
        WHERE FIND_IN_SET(b.uuid, a.coordinator_in_test)
        GROUP BY a.cab_number
    ) f
    ON a.cab_number = f.cab_number
    LEFT JOIN (
        SELECT a.cab_number, group_concat(b.name) AS "test_participants"
        FROM (
            SELECT cab_number, test_participants
            FROM gfzq_cab
            WHERE test_participants != ''
        ) a, k_user b
        WHERE FIND_IN_SET(b.uuid, a.test_participants)
        GROUP BY a.cab_number
    ) g
    ON a.cab_number = g.cab_number
WHERE a.weekend_test = '涉及'\G;

自我学习部分:

1、 把第一个月写的java spring demo 用gitlab-ci部署了下,学了下gitlab-ci的模板库封装,跟jenkins的共享库一个东西,只不过gitlab-ci的引用更人性化一点,

.gitlab-ci.yml文件如下,shell runner,没用docker  in docker

include: 
  - project: "yw/cicd"
    file: "templates/notify.yml"

stages:
  - print
  - compile
  - build
  - run
  - notify

variables:
  NAMESPACE: ms-test
  SERVICE: sb-test
  TAG: $CI_COMMIT_SHORT_SHA

job_print:
  stage: print
  script:
  - "echo CI_COMMIT_REF_NAME $CI_COMMIT_REF_NAME"
  - "echo DockerUser global var  $DockerUser"
  - "echo DockerUrl set in yml $DockerUrl"
  - "echo CI_COMMIT_TIMESTAMP $CI_COMMIT_TIMESTAMP"
  - "echo GITLAB_USER_NAME $GITLAB_USER_NAME"
  - "echo CI_PROJECT_NAME $CI_PROJECT_NAME"
  - "echo COMMIT ID $CI_COMMIT_SHA"
  - "echo COMMIT_MESSAGE $CI_COMMIT_MESSAGE"
  - "echo CI_COMMIT_BRANCH $CI_COMMIT_BRANCH"
  - "echo CI_PIPELINE_URL $CI_PIPELINE_URL"
  - "echo CI_COMMIT_SHORT_SHA $CI_COMMIT_SHORT_SHA"
  - "echo CI_COMMIT_TAG $CI_COMMIT_TAG"
job_compile:
  stage: compile
  script:
    - "echo build"
    - "mvn package -Dmaven.skip.test=true"
  tags: 
    - shell-runner-201
  artifacts:
    paths:
      - target/*.jar
  
job_build:
  stage: build
  script:
    - "docker build -t $HARBOR_REGISTRY/$NAMESPACE/$SERVICE:$TAG ."
  tags: 
    - shell-runner-201
  only:
    - develop

job_push
  stage: push
  script:
    - "docker login -u$dockerHubUser -p$dockerHubPassword $HARBOR_REGISTRY"
    - "if [ $? -eq 0 ];then docker push  $HARBOR_REGISTRY/$NAMESPACE/$SERVICE:$TAG ;done"
  tags: 
    - shell-runner-201
  only:
    - develop

job_run:
  stage: run
  script:
    - "docker stop test && docker rm test"
    - "docker run -d -p 9988:9988  -e JAVA_OPTS='-Xmx512M -Xms512M -Xmn256M -XX:MaxMetaspaceSize=64M -XX:MetaspaceSize=64M' --name test $HARBOR_REGISTRY/$NAMESPACE/$SERVICE:$TAG "
  tags: 
    - shell-runner-201
  only:
    - develop

notifyOnSuccess:
  tags:
    - shell-runner-201

notifyOnFail:
  tags:
    - shell-runner-201

2、学习itsm js脚本 ,这种外包项目大量重复代码,layui+封装,这种内部工单流程项目都是巨长的form表单,粪坑

3、简单的定时任务管理已经写完了,推荐给上级,暂时没用,就这样了

4、postgresql学了下。

基本就这些,每天坐冷板凳,依然靠自己,还不到一个月快过年了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_36013896

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值